標簽的運行方式是:
JSP頁面解析中發現自定義標簽,則到上面的標簽說明中尋找:如







準備工作 :首先在WEB-INF\lib下添加taglibs-log.jar包
1、創建標簽描述文件
在WEB-INF下新建一個tld文件,該文件描述了此tld文件將由那個處理類完成操作,并且定義了該標簽的屬性。一個<taglib>中可以有很多個<tag>,由<name>標簽名區分。























2、創建標簽處理類
該類繼承 TagSupport,覆蓋doEndTag()方法
package com.derek.tags;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import java.util.Properties;
import java.io.*;
import javax.servlet.jsp.JspWriter;
public class TitleTag extends TagSupport {
private String begin = null;
private String end = null;
public TitleTag() {}
public String getBegin() {return begin;}
public void setBegin(String begin) {this.begin = begin;}
public String getEnd(){return end;}
public void setEnd(String end){this.end = end;}
public int doEndTag() throws JspException {
Properties ps = (Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);//從上下文中取的message.properties
JspWriter jw = pageContext.getOut();
if(begin!=null&&begin.length()>0){
String header = ps.getProperty(begin);
System.out.println("頁眉"+begin);
try {
jw.println(header);
}catch (IOException ex) {ex.printStackTrace();}
}
if(end!=null&&end.length()>0){
String footer = ps.getProperty(end);
System.out.println(" 頁腳"+end);
try {
jw.println(footer);
}catch (IOException ex1) {ex1.printStackTrace();}
}
return SKIP_BODY;
}
public void release() {
super.release();
}
}
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import java.util.Properties;
import java.io.*;
import javax.servlet.jsp.JspWriter;
public class TitleTag extends TagSupport {
private String begin = null;
private String end = null;
public TitleTag() {}
public String getBegin() {return begin;}
public void setBegin(String begin) {this.begin = begin;}
public String getEnd(){return end;}
public void setEnd(String end){this.end = end;}
public int doEndTag() throws JspException {
Properties ps = (Properties)pageContext.getAttribute("ps",pageContext.APPLICATION_SCOPE);//從上下文中取的message.properties
JspWriter jw = pageContext.getOut();
if(begin!=null&&begin.length()>0){
String header = ps.getProperty(begin);
System.out.println("頁眉"+begin);
try {
jw.println(header);
}catch (IOException ex) {ex.printStackTrace();}
}
if(end!=null&&end.length()>0){
String footer = ps.getProperty(end);
System.out.println(" 頁腳"+end);
try {
jw.println(footer);
}catch (IOException ex1) {ex1.printStackTrace();}
}
return SKIP_BODY;
}
public void release() {
super.release();
}
}
3、修改web.xml文件
在web.xml中<web-app>下添加,將標簽的uri與具體標簽描述文件綁定
<taglib>
<taglib-uri>/mytitle.tld</taglib-uri>
<taglib-location>/WEB-INF/mytitle.tld</taglib-location>
</taglib>
<taglib-uri>/mytitle.tld</taglib-uri>
<taglib-location>/WEB-INF/mytitle.tld</taglib-location>
</taglib>
4、在頁面中使用標簽
首先在頁面中導入標簽

然后就可以在頁面中使用了
<dada:title begin="" end="footer"/>