標籤:style blog class code java tar
web應用的結構:
web.xml
classes diegoyun OutputTag.class
WEB-INF src diegoyun OutputTag.java
mytag tlds diego.tld
tag.jsp
細節:
web.xml:
1 <?xml version="1.0" encoding="GBK"?>2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"6 version="3.0">7 </web-app>
OutputTag.java:
1 package diegoyun; 2 import javax.servlet.jsp.JspException; 3 import javax.servlet.jsp.JspWriter; 4 import javax.servlet.jsp.tagext.TagSupport; 5 6 public class OutputTag extends TagSupport 7 { 8 private String name=null; 9 public void setName(String name)10 {11 this.name = name;12 }13 14 public int doStartTag() throws JspException{15 try16 {17 JspWriter out = pageContext.getOut();18 out.print("Hello! " + name);19 }20 catch (Exception e)21 { 22 throw new JspException(e);23 }24 return EVAL_PAGE;25 }26 }
diego.tld:
1 <?xml version="1.0" encoding="GBK" ?> 2 3 <taglib xmlns="http://java.sun.com/xml/ns/j2ee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd" 6 version="2.0"> 7 <tlib-version>1.0</tlib-version> 8 <short-name>diego</short-name> 9 <!--OutputTag-->10 <tag>11 <name>out</name>12 <tag-class>diegoyun.OutputTag</tag-class>13 <body-content>empty</body-content>14 <attribute>15 <name>name</name>16 <required>false</required>17 <rtexprvalue>false</rtexprvalue>18 </attribute>19 </tag>20 </taglib>
tag.jsp:
1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %> 2 3 <%@ taglib uri="/WEB-INF/tlds/diego.tld" prefix="diego"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 5 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 6 <html xmlns="http://www.w3.org/1999/xhtml"> 7 <body> 8 Test Tag: 9 <diego:out name="diegoyun"/>10 </body>11 </html>