zoukankan      html  css  js  c++  java
  • write jsp tag

    编写一个JSP Tag涉及三个步骤:
    (1)编写JSP
    (2)编写JSP Tag的java程序
    (3)编写JSP Tag库的描述文件tld(实际是一个XML文件)
    这三个步骤之间没有顺序约束,下面是一个简单的例子:

    1 编写HelloTag.jsp

    1. <%@page contentType="text/html"%>   
    2. <html>   
    3. <head><title>Hello Tags Page</title></head>   
    4. <body>   
    5. <%@ taglib uri="/WEB-INF/classes/tags/helloTag.tld" prefix="hello" %> 
    6. <hello:helloTag />   
    7. </body>   
    8. </html> 

    2 编写JSP Tag

    HelloTag.java

    1. package tags;   
    2. //注意:必须放在一个包中   
    3. import java.io.*;   
    4. import javax.servlet.jsp.*;   
    5. import javax.servlet.jsp.tagext.*;   
    6. public class HelloTag extends TagSupport {   
    7. public int doStartTag() {   
    8. try {   
    9. //使用JspWriter获得JSP的输出对象   
    10. JspWriter jspWriterOutput = pageContext.getOut(); 
    11. jspWriterOutput.print("Hello Tag!");   
    12. }   
    13. catch (IOException ioEx) {   
    14. System .out.println("IOException in HelloTag " + ioEx);   
    15. }   
    16. return (SKIP_BODY);   
    17. }   

    3 编写helloTag.tld

    这是Tag库的描述部分:

    1. <?xml version="1.0" encoding="UTF-8" ?> 
    2. <!DOCTYPE taglib  
    3. PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"  
    4. "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 
    5. <taglib> 
    6. <tlib-version>1.0</tlib-version> 
    7. <jsp-version>1.2</jsp-version> 
    8. <shorttag&#65279; -name>helloTag</short -name> 
    9. <uri>/WEB-INFtagshelloTag</uri> 
    10. <display-name>helloTag</display-name> 
    11. <small-icon></small-icon> 
    12. <large-icon></large-icon> 
    13. <description>simple hello tags tag  
    14. </description> 
    15. <tag> 
    16. <name>helloTag</name> 
    17. <tag-class >tags.HelloTag</tag-class > 
    18. <body-content>empty</body-content> 
    19. <small-icon></small-icon> 
    20. <large-icon></large-icon> 
    21. <description></description> 
    22. <example></example> 
    23. </tag> 
    24. </taglib>  

    4 注意:

    通常手工编写XML文件,但是Sun的教程建议使用IDE工具编写自定义tag,比如NetBeans
    一般,直接把tld文件放到WEB-INF目录中。

  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/greencolor/p/2333739.html
Copyright © 2011-2022 走看看