你的位置:首页 > 软件开发 > Java > jsp 自定义标签

jsp 自定义标签

发布时间:2016-03-02 10:00:12
jsp 自定义标签如何建立一个简单的标记处理器? 需要做三件事:一、编写标签处理器(java文件)二、在标签库描述符文件中描述该标签 (TLD文件)三、在jsp文件中引用该标签具体步骤:step1:编写一个扩展SimpleTagSupport的类package foo;imp ...

jsp 自定义标签

如何建立一个简单的标记处理器?

 

需要做三件事:

一、编写标签处理器(java文件)

二、在标签库描述符文件中描述该标签 (TLD文件)

三、在jsp文件中引用该标签

具体步骤:

step1:编写一个扩展SimpleTagSupport的类

jsp 自定义标签
<??><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>
jsp 自定义标签

step4: 部署标记处理器和TLD

把TLD文件放在WEB-INF下,并把标记处理器放在WEB-INF/classes下,这里当然还要遵循包目录结构。换句话说,标记处理器类要与所有其他web应用Java类放在同一个位置上。

step5: 编写一个使用标记的JSP

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  }}
jsp 自定义标签

情况四、如果这个简单标记是有属性的,怎么办?如:

jsp 自定义标签
<??><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 自定义标签

另外,在标记处理器类中,也要对这一属性有相应的体现:

jsp 自定义标签

原标题:jsp 自定义标签

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。