自定义标签好像现在已经很少使用
我们自定义的tag类需要继承TagSupport类,相应的方法返回值意义如下。
EVAL_BODY_INCLUDE:把Body读入存在的输出流中,doStartTag()函数可用
EVAL_PAGE:继续处理页面,doEndTag()函数可用
SKIP_BODY:忽略对Body的处理,doStartTag()和doAfterBody()函数可用
SKIP_PAGE:忽略对余下页面的处理,doEndTag()函数可用
EVAL_BODY_TAG:已经废止,由EVAL_BODY_BUFFERED取代
EVAL_BODY_BUFFERED:申请缓冲区,由setBodyContent()函数得到的BodyContent对象来处理tag的body,如果类实现了BodyTag,那么doStartTag()可用,否则非法
有一个业务需要用到这样的标签,写tag类的时候发现上面的东西不知道,就记录下来。
下面说重点,有一种更加简单,快捷,反正比上面的方式好很多的写法,能够实现自定义标签的功能
jsp 2.0提供一种新的用法“jsp tag”,感觉上他很类似“include”,使用上非常简单
只需要写XXX.tag文件,jsp页面中就可以引入
下面是抄自JSP 2.0 tag files 文档中的一段例子原文http://www.softwaresummit.com/2005/speakers/BergmanJSP2.0TagFiles.pdfexample.tag:example.jsp