1.先自己写一个类,并写好自定义的函数
public class MyFunction {
public static String lowerToUpper(String source){
return source.toUpperCase();
}
public static String upperToLower(String source){
return source.toLowerCase();
}
}
2.找到自己tomcat安装目录下的webapps\examples\WEB-INF\jsp2\jsp2-example-taglib.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>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>SimpleTagLibrary</short-name>
<uri>http://tomcat.apache.org/jsp2-example-taglib</uri>
<function>
<description>Converts the string to all caps</description>
<name>caps</name>
<function-class>jsp2.examples.el.Functions</function-class>
<function-signature>java.lang.String caps( java.lang.String )</function-signature>
</function>
</taglib>
进行修改,将文件自定义名字后,但后缀名一定也是.tld,拷贝到WEB-INF文件夹下
<?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">
<!--定义标签库的信息-->
<tlib-version>1.0</tlib-version>
<short-name>myFunctionTaglib</short-name><!--自定义标签库的名字,一般与该文件名同名-->
<uri>http://tomcat.apache.org/myFunctionTaglib</uri><!---->
<!--注册函数-->
<function>
<name>myLowerToUpper</name>
<function-class>cn.test.functions.MyFunction</function-class><!--函数所在的类-->
<function-signature>java.lang.String lowerToUpper( java.lang.String )</function-signature><!--从左到右依次是:函数返回类型、函数名、函数参数类型-->
</function>
<function>
<name>myuUpperToLower</name>
<function-class>cn.test.functions.MyFunction</function-class>
<function-signature>java.lang.String upperToLower( java.lang.String )</function-signature>
</function>
</taglib>
3.在jsp文件中使用
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="myFunctionTaglib" uri="http://tomcat.apache.org/myFunctionTaglib" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
${myFunctionTaglib:myLowerToUpper("abc")}
</body>
</html>