Jstl函数库是用在el表达式中
fn:length取出字符串长度
$(fn:length(hello))
自定义函数库
1, 定义类和方法(方法必须是public static)
public class MyFunctions {
/**
* 方法必须是public static
* @param name
* @return
*/
public static String sayHello(String name) {
return "Hello " + name;
}
}
2, 编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF的子目录下
3, 将标准函数库中的tld复制,然后修改,首先修改display-name,然后修改short-name,在修改uri,最后修改function中的函数配置
<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>my functions library</description>
<display-name>my functions</display-name>
<tlib-version>1.0</tlib-version>
<short-name>my</short-name>
<uri>http://www.bjsxt.com/functions</uri>
<function>
<name>sayHello</name>
<function-class>com.bjsxt.struts.MyFunctions</function-class>
<function-signature>java.lang.String sayHello(java.lang.String)</function-signature>
</function>
</taglib>