jsp 自定义标签如何建立一个简单的标记处理器? 需要做三件事:一、编写标签处理器(java文件)二、在标签库描述符文件中描述该标签 (TLD文件)三、在jsp文件中引用该标签具体步骤:step1:编写一个扩展SimpleTagSupport的类package foo;imp ...
jsp 自定义标签
如何建立一个简单的标记处理器?
需要做三件事:
一、编写标签处理器(java文件)
二、在标签库描述符文件中描述该标签 (TLD文件)
三、在jsp文件中引用该标签
具体步骤:
step1:编写一个扩展SimpleTagSupport的类
<??><taglib ="http://java.sun.com/ ="http://www.w3.org/2001/ xsi:schemaLocation="http://java.sun.com/ version="2.0"> <tlib-version>1.2</tlib-version> <uri>simpleTags</uri> <tag> <name>simple1</name> <description>xxxxxxxx</description> <tag-class>foo.SimpleTagTest1</tag-class> <body-content>empty</body-content> </tag></taglib>
step4: 部署标记处理器和TLD
把TLD文件放在WEB-INF下,并把标记处理器放在WEB-INF/classes下,这里当然还要遵循包目录结构。换句话说,标记处理器类要与所有其他web应用Java类放在同一个位置上。
step5: 编写一个使用标记的JSP
String[] movies = {"Monsoon Wedding", "Saved!", ".. ..."};public void doTag() throws JspException, IOException { for(int i = 0; i < movies.length; i++){ getJspContext().setAttribute("movie",movies[i]); getJspBody().invoke(null);//每次invoke,都会执行一次标签body }}
情况四、如果这个简单标记是有属性的,怎么办?如:
<??><taglib ="http://java.sun.com/ ="http://www.w3.org/2001/ xsi:schemaLocation="http://java.sun.com/ version="2.0"> <tlib-version>1.2</tlib-version> <uri>simpleTags</uri> <tag> <name>simple1</name> <description>xxxxxxxx</description> <tag-class>foo.SimpleTagTest1</tag-class> <body-content>empty</body-content> <attribute> <name>movieList</name> <required>true</required><!-- 说明movieList属性是必需的 --> <rtexprvalue>true</rtexprvalue><!-- 说明movieList属性可以是一个运行时表达式(不用非得是一个常量String) --> </attribute> </tag></taglib>
另外,在标记处理器类中,也要对这一属性有相应的体现:
原标题:jsp 自定义标签
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。