通过继承TagSupport编写标签的方法

通过继承TagSupport编写标签的方法


编写自定义标签有两种方法:
1.实现Tag(接口)
2.继承TagSupport(支持)




下面就通过使用TagSupport类制作自定义标签


注意:TagSupport是Tag的一个子接口的实现类


还是以上次博客的例子为例:


1.编写一个类继承TagSupport:
package javastudy;


import java.io.IOException;


import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;


public class CopyRight1 extends TagSupport {
String companyName;
    //注入属性(把网页上的名字注入进来,这个过程由容器来解决)
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
      ///给类添加属性和setter方法
@Override
public int doEndTag() throws JspException {


JspWriter out = pageContext.getOut();
try {
out.println(companyName+"\t"+"版权所有!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return super.doEndTag();
}


private static final long serialVersionUID = 1L;


}
2.tld文件中:

 a 
 
 companyName
 true
 

 javastudy.CopyRight1
 

tld文件中要说明该属性,还要指定为true(意思是必须处理)
3.在jsp页面上直接调用即可,这里是添加了属性companyName(名字和


companyName有关)




最后输出结果:
弗兰 版权所有!




还有说明一个标签:
rtexprvalue = Run-time Expression Value,它用于表示是否可以使用JSP表


达式(如:
等等)


前面的例子只设置了一个参数:companyName,其实也可以设置多个参数,设置


属性和setter方法都是一样


还有一点:tld文件中可以设置多个tag标签!

你可能感兴趣的:(javaweb高级技术)