完成你的自定义JSP Tag标签-Basic Coustom Tag
2009-12-19 10:05
134 查看
说明:基于Eclipse 3.2 + Tomcat 4.0编译完成
1.完成你自己的Tag Class,javax.servlet.jsp中提供一个Tag接口类
TagSupport 和 BodyTagSupport两个类,你自己的Tag Class必须
extends其中一个。本例中HrefTag Class extends TagSupport类,并
完成了doStratTag方法的重写,主要代码如下:
对于一个Tag Class来说,想要正确的工作,必需有相应的TLD文件,本例为
test-taglib.tld,定义如下:
作为jsp页面要引用一个Tag,必需导入它对应的Tag声明,告诉系统怎么
去找到和地位到这个TLD文件,再根据TLD文件去寻找对应的Java文件
jsp页面声明如下:
页面中应用Tag如下:
本文中由于在页面声明Taglib时候使用的uri是相对路径,因此要在
web.xml中加上taglib的声明,如下:
说一下我的目录结构:
jspTagSample
/src/com.test.tag.HrefTag
/jsp/index.jsp
/jsp/web-inf/web.xml
/jsp/web-inf/tld/test-taglib.tld
/build.xml
最后是程序的效果,点击Click here将会超连接到新浪主页
学习本例时候,可能遇到的常见问题:
页面请求时候遇到:Unable to compile clas for JSP
对策:把在build路径中要加上:%tomcat_home%/common/lib/*.jar
对应的build.xml文件为:
<path id="libraries">
<fileset dir="${build}">
<include name="*.jar"/>
</fileset>
</path>
本文出自 “流浪的鱼” 博客,请务必保留此出处http://gloomyfish.blog.51cto.com/8837804/1400438
1.完成你自己的Tag Class,javax.servlet.jsp中提供一个Tag接口类
TagSupport 和 BodyTagSupport两个类,你自己的Tag Class必须
extends其中一个。本例中HrefTag Class extends TagSupport类,并
完成了doStratTag方法的重写,主要代码如下:
public int doStartTag(){ JspWriter ōut = pageContext.getOut(); String value = getValue(); String code = getCode(); System.out.println("value = " + value); System.out.println("code = " + code); try{ if(code != null && value != null) { out.print("<a href="); out.print("'"); out.print(value); out.print("'"); out.print(">"); out.print(code); out.print("</a>"); } }catch(IOException e){ System.out.println("Error in Tag:" + e.getMessage()); } return(SKIP_BODY); } |
test-taglib.tld,定义如下:
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> <taglib> <tag> <name>href</name> <tagclass>com.test.tag.HrefTag</tagclass> <bodycontent>jsp</bodycontent> <info>Simplest example: href the page </info> <attribute> <name>code</name> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> <attribute> <name>value</name> <required>true</required> <rtexprvalue>false</rtexprvalue> </attribute> </tag> </taglib> |
去找到和地位到这个TLD文件,再根据TLD文件去寻找对应的Java文件
jsp页面声明如下:
<%@ taglib uri="simpleTag" prefix="test" %> |
<li><test:href code="Click here" value="http://www.sina.com.cn" /> |
web.xml中加上taglib的声明,如下:
<taglib> <taglib-uri>simpleTag</taglib-uri> <taglib-location> /WEB-INF/tld/test-taglib.tld </taglib-location> </taglib> |
jspTagSample
/src/com.test.tag.HrefTag
/jsp/index.jsp
/jsp/web-inf/web.xml
/jsp/web-inf/tld/test-taglib.tld
/build.xml
最后是程序的效果,点击Click here将会超连接到新浪主页
学习本例时候,可能遇到的常见问题:
页面请求时候遇到:Unable to compile clas for JSP
对策:把在build路径中要加上:%tomcat_home%/common/lib/*.jar
对应的build.xml文件为:
<path id="libraries">
<fileset dir="${build}">
<include name="*.jar"/>
</fileset>
</path>
本文出自 “流浪的鱼” 博客,请务必保留此出处http://gloomyfish.blog.51cto.com/8837804/1400438
相关文章推荐
- 完成你的自定义JSP Tag标签-Basic Coustom Tag
- 自定义JSP标签自动完成对页面按钮做权限拦截处理
- 完成你的自定义JSP Tag标签-Basic Coustom Tag
- JSP自定义方法库
- 自定义JSP的 JSTL标签函数过程
- jsp简单自定义标签的forEach遍历及转义字符
- JSP中的自定义标签(摘录)
- jsp进阶: 开发jsp自定义标记- -
- JSP自定义标签开发入门
- JSP自定义标签开发入门
- 多种方法实现当jsp页面完全加载完成后执行一个js函数
- JSP自定义标签改变列表的排版
- 极具个性化的【自定义日历】(预热篇)—超详细,记录你的学习计划与完成情况
- JSP2.0自定义标签
- 自定义jsp标签
- jsp之自定义标签指令元素taglib
- activiti自定义流程之Spring整合activiti-modeler5.16实例(八):完成个人任务
- JSP自定义标签开发入门(转)
- jsp编译完成后显示的HTTP Status 404 - /MyWebBBS/servlet/RegisterServlet%20%7D其中的%20%7D什么意思
- Java Web学习(19):阶段项目之使用JSP+JavaBean完成用户登录