zoukankan      html  css  js  c++  java
  • jsp标签循环标签体

    引用:http://liuna718-163-com.iteye.com/blog/1318991

    1.在IterationTag接口是Tag接口的子接口,里面有个doAfterBody方法,该方法决定是否重复执行标签体内容

    2.web容器执行自定义标签的过程如下
    初始化时调用setPageContent()方法,完了在调用setParent方法
    2.1web容器首先执行自定义标签的开始标记,同时调用doStartTag方法。
    2.2如果doStartTag方法返回EVAL_BODY_INCLUDE,web容器在执行完标签体的内容后,会调用标签类得doAfterBody方法;
    如果doStartTag方法返回SKIP_BODY,doAfterBody方法不会调用,web容器会直接调用标签类得doEndTag方法
    2.3如果doAfterBody方法被调用,并且方法返回EVAL_BODY_AGIN,web容器会再次执行标签体的内容;
    如果doAfterBody方法返回SKIP_BODY,web容器会调用标签类的doEndTag方法
    2.4如果doEndTag方法返回EVAL_PAGE,web容器会执行标签后面的内容;
    如果doEndTag方法返回SKIP_PAGE,web容器会忽略自定义标签后面的内容

    3.实现BodyTag接口的BodyTagSupport类使用
    在编写代码时需要注意一下几点:
    由于setPageContext方法、setParent方法、属性的setter方法和doStartTag方法在setBodyContent方法之前调用,因此不能再这些方法中使用bodyContext对象,也就是说只能在setBodyContent方法后面被调用的方法中才能使用BodyContent对象,如doInitBody、doAfterBody和doEndBody方法.
    如果要修改标签体的内容,只能在标签体执行完成后再处理,也就是说,只能在doAfterBody或doEndTag方法中编写处理代码。

  • 相关阅读:
    台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
    洛谷 OJ P1417 烹调方案 01背包
    快速幂取模
    台州 OJ 2649 More is better 并查集
    UVa 1640
    UVa 11971
    UVa 10900
    UVa 11346
    UVa 10288
    UVa 1639
  • 原文地址:https://www.cnblogs.com/zhenmingliu/p/2484512.html
Copyright © 2011-2022 走看看