《JSP自定义标签库开发:从接口实现到适配器类应用》
1. 实现IterationTag接口
在之前的示例中,我们使用Tag接口来决定是否包含或跳过标签的主体内容。不过,如果包含主体内容,它只会被包含一次。而IterationTag接口扩展了Tag接口,允许我们多次包含标签的主体内容,类似于编程语言中的循环功能。
1.1 理解IterationTag方法
IterationTag继承了Tag接口的所有功能。容器通过调用 setPageContext() 和 setParent() 方法为迭代标签设置适当的引用,使用setter方法传递属性值,并调用 doStartTag() 。根据 doStartTag() 的返回值,容器会决定是包含还是跳过主体内容。
- 如果 doStartTag() 返回 SKIP_BODY ,则跳过主体内容,容器调用 doEndTag() ,此时 doAfterBody() 方法不会被调用。
- 如果 doStartTag() 返回 EVAL_BODY_INCLUDE ,则计算标签的主体内容,并将结果包含在输出中,容器首次调用 doAfterBody() 。
doAfterBody() 是IterationTag接口定义的唯一方法,它让标签处理器有机会重新计算
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



