JSTL的Functions标签库提供的函数有限,如果需要,可以自行开发el函数。
Function.java:
public class Function {
public static String makeSecondUpperCase(String str){
return str.substring(0,1)+str.substring(1,2).toUpperCase()+str.substring(2);
}
public static String cutLastChar(String str){
return str.substring(0,str.length()-1);
}
}
myfn.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</display-name>
<tlib-version>1.1</tlib-version>
<short-name>f</short-name>
<uri>www.dragon.com</uri>
<function>
<name>makeSecondUpperCase</name>
<function-class>com.function.Function</function-class>
<function-signature>String makeSecondUpperCase(java.lang.String)</function-signature>
</function>
<function>
<name>cutLastChar</name>
<function-class>com.function.Function</function-class>
<function-signature>String cutLastChar(java.lang.String)</function-signature>
</function>
</taglib>
test.jsp:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="func" uri="www.dragon.com" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
${func:makeSecondUpperCase("abcdefg")}<br>
${func:cutLastChar("abcdefg")}
</body>
</html>