z注意每个uri地址要保持统一
1.创建MytagPrinta.java文件
package cn.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.tagext.TagSupport; public class MytagPrinta extends TagSupport { /** * */ private static final long serialVersionUID = 1L; protected String value = null; protected String type = "0"; public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getType() { return type; } public void setType(String type) { this.type = type; } @Override public int doStartTag() throws JspException { // TODO Auto-generated method stub try { if(type.equals("0")) { pageContext.getOut().println("hello:" + value); }else{ pageContext.getOut().print("hell:"+value+"<br>"); } } catch (IOException e) { // TODO Auto-generated catch block throw new JspTagException( e.getMessage() ); } return SKIP_PAGE; } @Override public int doEndTag() throws JspException { // TODO Auto-generated method stub return EVAL_PAGE; } }
2.配置web-info下的web.xml文件
<jsp-config> <taglib> <taglib-uri>http://www.tag.com/mytag</taglib-uri> <taglib-location>/WEB-INF/mytlds/mytag.tld</taglib-location> </taglib> </jsp-config>
3.web-info下的mytlds文件夹下创建 mytag.tld
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>mytag 带type和value属性的打印</description> <display-name>mytag 标签库</display-name> <tlib-version>1.0</tlib-version> <short-name>mytag</short-name> <uri>http://www.tag.com/mytag</uri> <tag> <description>打印value和type</description> <name>printa</name> <tag-class>cn.tag.MytagPrinta</tag-class> <body-content>empty</body-content> <attribute> <name>type</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>value</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
4.新建tag.jsp文件。调用
<%@ page language="java" contentType="text/html; charset=utf-8"%> <%@ taglib prefix="mytag" uri="http://www.tag.com/mytag" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>带属性标签实例</title> </head> <body> <h3>调用带属性的print标签</h3> 打印后换行: <mytag:printa value="print" type="1"/> 打印后不换行:<mytag:printa value="printa" type="0"/> </body> </html>