一、定义函数类
- 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 ) }