一 标签库的使用举例
对于我们自定义标签,一定要继承javax.servlet.jsp.tagext.TagSupport类,重写其doStartTag和doEndTag方法,一般没有递归需要的话,对于其doAfterBodyTag方法不必实现,示例如下:
创建TLD文件,它是一个标准的XML文件,示例如下:
创建JSP页面,使用标签库,如下:
以上就是自定义标签库的基本用法。
二 TagSupport工作流程
SKIP_BODY 表示不用处理标签体,直接调用doEndTag()方法。
SKIP_PAGE 忽略标签后面的JSP内容。
EVAL_PAGE 处理标签后,继续处理JSP后面的内容。
EVAL_BODY_BUFFERED 表示需要处理标签体。
EVAL_BODY_INCLUDE 表示需要处理标签体,但绕过setBodyContent()和doInitBody()方法
EVAL_BODY_AGAIN 对标签体循环处理。
三 常用开源标记库
JSTL,Jakarta Taglibs,Display Tag