隨筆-9  評論-2  文章-0  trackbacks-0
          BodyTagSupport類的方法:
          編寫標簽對應的實現類時,需要重載BodyTagSupport類幾個方法:doStartTag(), setBodyContent(), doInitBody(), doAfterBody(), doEndTag();

          他們執行順序如下:
          doStartTag()→doInitBody()→setBodyContent()→doAfterBody()→doEndTag()

          doStartTag()方法可返回EVAL_BODY_INCLUDE或SKIP_BODY,
          如果返回EVAL_BODY_INCLUDE則繼續執行;
          如果返回SKIP_BODY則接下來的doInitBody(),setBodyContent(), doAfterBody()三個方法不會被執行,
          而直接執行doEndTag()方法。

          setBodyContent()方法用于設置標簽體內容,如果在此之前要作一些初始化工作,則在doInitBody()方法中完成。
          標簽體內容執行完后,會調用doAfterBody()方法,此方法可返回EVAL_BODY_TAG, SKIP_BODY,
          EVAL_PAGE或SKIP_PAGE。
          如果返回EVAL_BODY_TAG則會再次設置標簽體內容,直到返回SKIP_BODY;
          如果返回EVAL_PAGE則標簽體執行完后會繼續執行JSP頁面中接下來的部分;
          如果返回SKIP_PAGE,則JSP頁面的后續內容將不再執行。

          標簽中靜態常量:

          EVAL_BODY_INCLUDE:告訴服務器正文的內容,并把這些內容送入輸出流
          SKIP_BODY:告訴服務器不要處理正文內容
          EVAL_PAGE:讓服務器繼續執行頁面
          SKIP_PAGE:讓服務器不要處理剩余的頁面
          EVAL_BODY_AGAIN:讓服務器繼續處理正文內容,只有doAfterBody方法可以返回
          EVAL_BODY_BUFFERED:BodyTag接口的字段,在doStartTag()返回
          EVAL_BODY_INCLUDE、SKIP_BODY一般由doStartTag()返回,而EVAL_PAPGE、SKIP_PAGE由doEndTag()返回。
          posted on 2011-06-14 12:16 secret_x15 閱讀(615) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 昭通市| 兴海县| 万安县| 易门县| 安顺市| 镇沅| 吉林市| 微山县| 绥阳县| 阳东县| 田阳县| 英吉沙县| 新野县| 东乌珠穆沁旗| 南皮县| 山丹县| 晋宁县| 长沙市| 紫金县| 甘南县| 凤庆县| 武义县| 固原市| 穆棱市| 师宗县| 运城市| 揭东县| 六枝特区| 文安县| 长岛县| 翁源县| 峨山| 佛学| 张家港市| 武胜县| 屯昌县| 广安市| 利川市| 南城县| 伊春市| 大兴区|