隨筆-9  評(píng)論-2  文章-0  trackbacks-0
          BodyTagSupport類的方法:
          編寫標(biāo)簽對(duì)應(yīng)的實(shí)現(xiàn)類時(shí),需要重載BodyTagSupport類幾個(gè)方法:doStartTag(), setBodyContent(), doInitBody(), doAfterBody(), doEndTag();

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

          doStartTag()方法可返回EVAL_BODY_INCLUDE或SKIP_BODY,
          如果返回EVAL_BODY_INCLUDE則繼續(xù)執(zhí)行;
          如果返回SKIP_BODY則接下來(lái)的doInitBody(),setBodyContent(), doAfterBody()三個(gè)方法不會(huì)被執(zhí)行,
          而直接執(zhí)行doEndTag()方法。

          setBodyContent()方法用于設(shè)置標(biāo)簽體內(nèi)容,如果在此之前要作一些初始化工作,則在doInitBody()方法中完成。
          標(biāo)簽體內(nèi)容執(zhí)行完后,會(huì)調(diào)用doAfterBody()方法,此方法可返回EVAL_BODY_TAG, SKIP_BODY,
          EVAL_PAGE或SKIP_PAGE。
          如果返回EVAL_BODY_TAG則會(huì)再次設(shè)置標(biāo)簽體內(nèi)容,直到返回SKIP_BODY;
          如果返回EVAL_PAGE則標(biāo)簽體執(zhí)行完后會(huì)繼續(xù)執(zhí)行JSP頁(yè)面中接下來(lái)的部分;
          如果返回SKIP_PAGE,則JSP頁(yè)面的后續(xù)內(nèi)容將不再執(zhí)行。

          標(biāo)簽中靜態(tài)常量:

          EVAL_BODY_INCLUDE:告訴服務(wù)器正文的內(nèi)容,并把這些內(nèi)容送入輸出流
          SKIP_BODY:告訴服務(wù)器不要處理正文內(nèi)容
          EVAL_PAGE:讓服務(wù)器繼續(xù)執(zhí)行頁(yè)面
          SKIP_PAGE:讓服務(wù)器不要處理剩余的頁(yè)面
          EVAL_BODY_AGAIN:讓服務(wù)器繼續(xù)處理正文內(nèi)容,只有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 閱讀(612) 評(píng)論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 绵竹市| 镇平县| 舒城县| 乌海市| 乡城县| 且末县| 隆昌县| 和田市| 阜康市| 湄潭县| 双峰县| 泰州市| 绥阳县| 宁乡县| 青田县| 关岭| 冕宁县| 兴山县| 布尔津县| 简阳市| 依安县| 开江县| 柳林县| 宁化县| 黔西| 高邮市| 和林格尔县| 左云县| 精河县| 苏州市| 铜陵市| 东源县| 宾川县| 大化| 翼城县| 东港市| 麻阳| 读书| 壤塘县| 嵊州市| 扬中市|