利用 JSP 2 提供的 SimpleTagSupport 开发自定义标签
2010-06-29 00:00:00 来源:WEB开发网除此之外,taglib 元素下可以包含多个 tag 元素,每个 tag 元素定义一个标签,tag 元素下至少应包含如下三个子元素:
name:该标签库的名称,这个属性很重要,JSP 页面中就是根据该名称来使用此标签的。
tag-class:指定标签的处理类,毋庸置疑,这个属性非常重要,指定了标签由哪个 Java 类来处理。
body-content:这个属性也很重要,它指定标签体内容。该元素的值可以是如下几个:
tagdependent:指定标签处理类自己负责处理标签体。
empty:指定该标签只能作用空标签使用。
scriptless:指定该标签的标签体可以是静态 HTML 元素,表达式语言,但不允许出现 JSP 脚本。
JSP:指定该标签的标签体可以使用 JSP 脚本。
实际上由于 JSP 2 规范不再推荐使用 JSP 脚本,所以 JSP 2 自定义标签的标签体中不能包含 JSP 脚本。所以实际上 body-content 元素的值不可以是 JSP。
定义了上面的标签库定义文件后,将标签库文件放在 Web 应用的 WEB-INF 路径,或任意子路径下,Java Web 规范会自动加载该文件,则该文件定义的标签库也将生效。
使用标签库
在 JSP 页面中确定指定标签需要 2 点:
标签库 URI:确定使用哪个标签库。
标签名:确定使用哪个标签。
使用标签库分成以下两个步骤:
导入标签库:使用 taglib 编译指令导入标签库,就是将标签库和指定前缀关联起来。
使用标签:在 JSP 页面中使用自定义标签。
taglib 的语法格式如下:
<%@ taglib uri="tagliburi" prefix="tagPrefix" %>
其中 uri 属性确定标签库的 URI,这个 URI 可以确定一个标签库。而 prefix 属性指定标签库前缀,即所有使用该前缀的标签将由此标签库处理。
更多精彩
赞助商链接