Jsp自定义标
1、 编写一个实现tag接口的实现类
2、 在tld文件中对标签处理器类进行描述(放在WEB-INF目录下)
可以复制并修改E:\study\tomcat\apache-tomcat-7.0.22\apache-tomcat-7.0.22\webapps\examples\WEB-INF\jsp2中的xml代码
class3g.tld
<?xml version="1.0"encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>There are my custom tags.</description>
<tlib-version>1.0</tlib-version>
<short-name>Class3g</short-name>
<uri>http://www.class3g.com</uri>
<tag>
<description>showthe romete address</description>
<name>viewIP</name>
<tag-class>class3g.web.tag.ViewIpTag</tag-class>
<body-content>empty</body-content>
</tag> www.2cto.com
</taglib>
3、 在jsp中导入并使用自定义标签
<%@ taglib uri="http://www.class3g.com"prefix="class3g" %>
TagSupport类的生命周期
建立标签处理对象,然后将自定义标签的属性值存入标签处理对象,往里传值,调用doStartTag()方法,doStartTag()方法如果返回SKIP_BODY标签体将不被执行,直接进入doEndTag()方法,doEndTag()方法如果返回EVAL_PAGE则据需用心JSP网页的其他内容,如果返回SKIP_PAGE则忽略JSP网页的其他内容。doStartTag()方法如果返回EVAL_BODY_INCLUDE则标签体被执行,如果doAfterBoda()不被覆盖,相当于返回SKIP_BODY,标签体显示一次,接着运行doEndTag()方法;如果覆盖doAfterBoda()第一次显示完标签内容后返回EVAL_BODY_AGAIN,重新显示主体内容,一直到返回SKIP_BODYZ运行doEndTag()方法
作者 程龙
相关新闻>>
- 发表评论
-
- 最新评论 更多>>