一、定义函数类
package org.functions;
/**
* 自定义jstl函数
* 需要注意:
* 方法必需是静态的
* */
public class Functions {
/**
* 截取字符串长度,从0开始截取
* */
public static String subString(String value , int index){
if(value != null && value.length() > index ){
value = value.substring( 0 , index ) ;
}
return value ;
}
/**
* int转换成为String类型
* */
public static String intToString(int i ){
return Integer.toString( i ) ;
}
}
在 WEB-INF 下面新建一个 fn.tld ,写入内容:
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" 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">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions</display-name>
<tlib-version>1.1</tlib-version>
<short-name>tfn</short-name>
<uri>/tfn</uri>
<function>
<name>subString</name>
<function-class>org.functions.Functions</function-class>
<function-signature>java.lang.String subString(java.lang.String,int)</function-signature>
<example>${tfn:subString( aa , 2 )}</example>
</function>
<function>
<name>intToString</name>
<function-class>org.functions.Functions</function-class>
<function-signature>java.lang.String intToString(int )</function-signature>
<example>
${tfn:intToString( 1 )}
</example>
</function>
</taglib>
三、在web.xml文件中配置:
<jsp-config>
<taglib>
<taglib-uri>/tfn</taglib-uri>
<taglib-location>/WEB-INF/fn.tld</taglib-location>
</taglib>
</jsp-config>
四、页面上调用
引用函数,和引用标签一样
<%@ taglib prefix="tfn" uri="/tfn"%>
使用该函数:
${tfn:subString( "你好", 1 ) }
${tfn:intToString( 12 ) }