自定义标签
绝大部分 Java 领域的 MVC 框架,例如 Struts、Spring MVC、JSF 等,主要由两部分组成:控制器组件和视图组件。其中视图组件主要由大量功能丰富的标签库充当。对于大部分开发者而言,可能通常只使用这些框架提供的标签,很少自己开发标签;但如果开发者掌握针对特定应用开发自定义标签,则可以大大简化 Web 应用的表现层开发,而 JSP 2 规范提供的 impleTagSupport 为开发自定义标签提供了很好的支持。
自定义标签库并不是 JSP 2 才出现的,JSP 1.1 版中已经增加了自定义标签库规范,自定义标签库是一种非常优秀的表现层组件技术。通过使用自定义标签库,可以在简单的标签中封装复杂的功能。
为什么要使用自定义标签呢?主要是为了取代丑陋的 JSP 脚本。在 HTML 页面中插入 JSP 脚本有如下几个坏处:
- JSP 脚本非常丑陋,难以阅读。
- JSP 脚本和 HTML 代码混杂,维护成本高。
- HTML 页面中嵌入 JSP 脚本,导致美工人员难以参与开发。
出于以上三点的考虑,我们需要一种可在页面中使用的标签,这种标签具有和 HTML 标签类似的语法,但由可以完成 JSP 脚本的功能——这种标签就是 JSP 自定义标签。
在 JSP1.1 规范中开发自定义标签库比较复杂,JSP 2 规范简化了标签库的开发,在 JSP 2 中开发标签库只需如下几个步骤:
- 开发自定义标签处理类;
- 建立一个 *.tld 文件,每个 *.tld 文件对应一个标签库,每个标签库对应多个标签;
- 在 JSP 文件中使用自定义标签。
详情请参见附件的自定义标签实例和文档 -
需要注意的几点是:
a、在开发自定义标签的时候,当标签带有属性时,标签处理类中的实例变量的名字和tld文件中的tag的名字必须要保持一致
b、tld文件中的uri与web.xml中的uri,以及页面导入时的uri也必须要保持一致
参考文献:
http://www.ibm.com/developerworks/cn/java/j-lo-jsp2tag/
http://www.cnblogs.com/zhaoyang/archive/2011/12/25/2301108.html
http://blog.csdn.net/longwentao/article/details/6917673
上一篇: JSP自定义标签(笔记)
下一篇: 自定义标签与spring注入报空