自定义jstl fn函数fns

时间:2023-03-09 06:06:02
自定义jstl fn函数fns

1、引入函数声明:

jsp页面需要引入自定义fns函数声明:

<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>    (自定义的tld文件位于/WEB-INF/tlds/fns.tld)

一般需要C标签配合使用,同时引入C标签声明:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2、fns.tld代码,仿照jstl的fn函数fn.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"> <description>JSTL 1.1 functions library</description>
<display-name>JSTL functions sys</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fns</short-name>
<uri>http://java.sun.com/jsp/jstl/functionss</uri> 经过测试,uri标签中可以没有空格 <!-- 返回指定对象 -->
<function>
<description>根据编码获取用户对象</description>
<name>getUserById</name>
<function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
<function-signature>com.aaa.bbb.ccc.sys.entity.User get(java.lang.String)</function-signature>
<example>${fns:getUserById(id)}</example>
</function> <!-- 返回OBJECT -->
<function>
<description>获取当前用户缓存</description>
<name>getCache</name>
<function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
<function-signature>java.lang.Object getCache(java.lang.String, java.lang.Object)</function-signature>
<example>${fns:getCache(cacheName, defaultValue)}</example>
</function> <!-- 多个参数 -->
<function>
<description>获取字典值</description>
<name>getDictValue</name>
<function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictValue(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>${fns:getDictValue(label, type, defaultValue)}</example>
</function> <!-- 返回List -->
<function>
<description>获取字典对象列表</description>
<name>getDictList</name>
<function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
<function-signature>java.util.List getDictList(java.lang.String)</function-signature>
<example>${fns:getDictList(type)}</example>
</function> <!-- JsonMapper -->
<function>
<description>对象转换JSON字符串</description>
<name>toJson</name>
<function-class>com.aaa.bbb.cccc.JsonMapper</function-class>
<function-signature>java.lang.String toJsonString(java.lang.Object)</function-signature>
<example>${fns:toJson(object)}</example>
</function> </taglib>

转自:http://blog.****.net/javaloveiphone/article/details/50216569