标签:
在JSP页面中,通常为了处理某些业务逻辑需要编写大量的Java代码,在一定程度上使得页面变得更加的复杂,并且不直观,也不利于前端人员对jsp页面的修改,通过自定义标签可以实现负责的、可重复利用的功能,并且简化了jsp页面,方便了后期的维护和修改。
一.实现自定义标签的步骤
1.首先编写自定义标签处理类:继承或实现相应的接口
2.编写标签描述文件:存放到网站的web-info目录中
3.在页面中引入标签文件
二.自定义标签实现类和接口的描述
JspTag:标记接口,实现了该接口的类可以处理标签
Tag:主要描述标签处理类的共性,实现该接口的类不能处理标签体
TagSupport:处理标签的属性的类
BodyTagSupport:处理标签的标签的类
三.接口类之间的关系
四.一般标签处理类(不带属性,标签体)
1.编写一个标签处理类
1 public class HelloHanler implements Tag { 2 private PageContext pageContext = null; 3 // 标签结束的时候执行 4 public int doEndTag() throws JspException { 5 return 0; 6 } 7 // 标签开始的时候执行 8 public int doStartTag() throws JspException { 9 // 给页面输出一个hello信息 10 JspWriter out = pageContext.getOut(); 11 // 输出信息 12 String info = "welcome!!!!!!!"; 13 try { 14 out.write(info); 15 } catch (IOException e) { 16 e.printStackTrace(); 17 } 18 return 0; 19 } 20 // 获取其父标签 21 public Tag getParent() { 22 return null; 23 } 24 // 释放 25 public void release() { 26 27 } 28 // 设置jsp上下文对象 29 public void setPageContext(PageContext pageContext) { 30 this.pageContext = pageContext; 31 } 32 // 设置父标签 33 public void setParent(Tag t) { 34 35 } 36 }
2.编写描述文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <taglib 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" 6 version="2.1"> 7 <!-- 2. 编写标签库描述文件 --> 8 <tlib-version>1.0</tlib-version> 9 <short-name>tag</short-name> 10 <tag> 11 <name>hellotag</name> 12 <tag-class>cn.mytag.test.HelloHanler</tag-class> 13 <body-content>empty</body-content> 14 </tag> 15 </taglib>
3.jsp页面引入标签
1 <%@taglib uri="/WEB-INF/mytag.tld" prefix="mytag"%> 2 <br/> 3 <mytag:hellotag/>
以上主要是简单的不包含属性和标签体的自定义标签,下次继续剩下的自定义标签的学习。
标签:
原文地址:http://www.cnblogs.com/jameszbp/p/4353364.html