115 P270 #眉標=JAVA #副標=Java整合XML應用系列(13): #大標=應用JSP整合XML/XSL之解疑篇(中) #作者=文/鄧崇林 p270 =================================== import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class HeadOffice implements Tag { private PageContext pageContext; private Tag parent; public void setPageContext(final javax.servlet.jsp.PageContext pageContext) { this.pageContext=pageContext; } // public void setParent(final javax.servlet.jsp.tagext.Tag parent) { this.parent=parent; } // public javax.servlet.jsp.tagext.Tag getParent() { return parent; } // public int doStartTag() throws javax.servlet.jsp.JspException { return SKIP_BODY; } public int doEndTag() throws javax.servlet.jsp.JspException { try { pageContext.getOut().write("研展國際公司"); } catch(java.io.IOException e) { throw new JspException("IO Error: " + e.getMessage()); } return EVAL_PAGE; } // public void release() {} } =================================== p271 =================================== import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; public class Branch implements Tag { private PageContext pageContext; private Tag parent; private String name="台灣總公司"; public void setPageContext(final javax.servlet.jsp.PageContext pageContext) { this.pageContext=pageContext; } // public void setParent(final javax.servlet.jsp.tagext.Tag parent) { this.parent=parent; } // public javax.servlet.jsp.tagext.Tag getParent() { return parent; } // public void setName(String name) { this.name=name; } // public int doStartTag() throws javax.servlet.jsp.JspException { return SKIP_BODY; } // public int doEndTag() throws javax.servlet.jsp.JspException { try { pageContext.getOut().write("研展國際公司 " + name); } catch(java.io.IOException e) { throw new JspException("IO Error: " + e.getMessage()); } return EVAL_PAGE; } // public void release() { } } =================================== p272 =================================== javac -classpath c:\tomcat32\lib\servlet.jar;.; -d ..\classes Branch.java javac -classpath c:\tomcat32\lib\servlet.jar;.; -d ..\classes HeadOffice.java =================================== =================================== jar cvf mytags.jar -C ..\classes . =================================== p273 =================================== 1.0 1.1 headOffice HeadOffice empty 總公司全銜tag branch Branch empty 分公司tag With name attribute name false false =================================== =================================== CLT Sample taglibs /clt taglib.tld /sap hellotaglib.tld =================================== =================================== <%@ taglib uri="/clt" prefix="clt" %> Hello World!


=================================== p274 =================================== <%@ page contentType="text/html;charset=Big5" %> <%@ taglib uri="/clt" prefix="clt" %> Hello my Company!






===================================