您的位置:首页 > 编程语言 > Java开发

#笔记#圣思园 JavaWeb 第44讲——自定义标签库

2015-06-24 16:32 344 查看

1.创建客户化JSP标签的步骤

(1)创建标签处理类

(2)创建标签库描述文件

(3)在JSP文件中引入标签库,然后插入标签,例如:<mm:hello/>        (<标签前缀:标签名>)

2.JSP Tag API

Servlet容器编译JSP网页时,如果遇到自定义标签,就会调用这个标签的处理类

标签处理类必须继承以下两个类之一:

javax.servlet.jsp.tagext.TagSupport类:doEndTag()方法和doStartTag()方法

javax.servlet.jsp.tagext.BodyTagSupport类:它是上面那个类的子类

doStartTag:Servlet容器遇到自定义标签的起始标识时,调用该方法

doStartTag:Servlet容器遇到自定义标签的结束标识时,调用该方法

setPageContext(PageContext pc):设置PageContext对象,该方法由Servlet容器在调用doStartTag

3.示例1:创建hello标签。

定义一个名字为mytaglib的标签库,包含一个hello标签,这个标签能将JSP页面中所有的<mm:hello/>解析为字符串“hello”

(1)创建标签处理类,继承TagSupport或BodyTagSupport

MyTag.java



(2)创建标签库描述文件  .tld    存放在与web.xml在同一个目录

mytag.tld



(3)在JSP中引入标签库,然后插入标签



执行结果:



4.示例2:创建message标签

创建一个能替换test应用中JSP网页的静态文本的标签,标签名为message,他放在mytaglib标签库中

标签处理类:MyTag2.java

message.properties(属性文件)



(初始化时加载properties文件,把信息加载到内存)InitServlet2.java



tld文件



tag2.jsp



首先,有一个初始化的Servlet,服务器启动时,将message.properties文件的内容加载到Properties对象里,然后将Properties对象放置到application范围内

当访问tag2.jsp时,遇到标签结束,调用doEndTag方法。这个方法执行时,从application范围内将Properties对象拿出来,自动调用setKey,得到页面上的key,调用getProperty(key),返回对应的value值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: