编写JSP Tag_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3614 | 回复: 0   主题: 编写JSP Tag        下一篇 
lynda
注册用户
等级:上尉
经验:570
发帖:49
精华:0
注册:2012-8-7
状态:离线
发送短消息息给lynda 加好友    发送短消息息给lynda 发消息
发表于: IP:您无权察看 2012-8-9 16:57:24 | [全部帖] [楼主帖] 楼主

编写一个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. <?xmlversion="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目录中。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论