隨筆-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
          主站蜘蛛池模板: 阆中市| 诏安县| 西城区| 井冈山市| 丹寨县| 庄浪县| 虹口区| 周至县| 裕民县| 鄂伦春自治旗| 邛崃市| 南丹县| 五寨县| 滨海县| 韶关市| 上饶市| 深圳市| 休宁县| 克山县| 香格里拉县| 拜泉县| 普兰县| 延安市| 长葛市| 综艺| 佛坪县| 山东省| 安西县| 辉县市| 大城县| 镇安县| 姜堰市| 桑日县| 绥阳县| 襄樊市| 潮安县| 墨竹工卡县| 哈尔滨市| 泊头市| 文登市| 得荣县|