JSTL自定义标签

时间:2022-11-01 22:24:18
JSTL标签库不能涵括所有的功能,当<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>即JSTL的函数库不能满足时,可以自己搭建标签库。 如何搭建自定义标签库
1、新建标签文件 myEL.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/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>myEL</short-name>
<uri>http://blog.163.com/sender@yeah</uri>
<function>
<description>将Clob转换成String对象</description>
<name>clob2String</name>
<function-class>com.XXX.xxx.util.CommonUtil</function-class>
<function-signature>java.lang.String clob2String(oracle.sql.CLOB)</function-signature>
<example>${myEL:clob2String(clob)}</example>
</function>
</taglib>
2、然后可以在页面直接引用文件:
<%@ taglib uri="/WEB-INF/myEL.tld" prefix="myEL" %>也可以引用tld中的uri<%@ taglib uri="http://blog.163.com/sender@yeah" prefix="myEL" %>前提是将这段加入到web.xml中:
<!-- my EL -->
<jsp-config>
<taglib>
<taglib-uri>
http://blog.163.com/sender@yeah
</taglib-uri>
<taglib-location>/WEB-INF/my-el.tld</taglib-location>
</taglib>
</jsp-config>
3、接着就可以正常使用了
${myEL:clob2String(INFO_MAP['INFO_CONTENT'])}
总结:其实自定义标签挺简单的: 1.写java类的方法 2.第一一个tld文件 3.在web.xml声明这个tld文件,并发布访问的uri 4.应用到jsp中去 总结起来就是这样的实现流程,希望大家有什么问题,多多交流!