EL表達式:只能調用靜態方法
首先創建一個類
package com.zeroyoung.web.function;
public class MyFunction {
public static String toUpperCase(String str){
return str.toUpperCase();
}
}
在WEB-INF中添加一個myFunction.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">
<tlib-version>1.0</tlib-version><!-- 指定標籤庫或方法庫版本號 -->
<short-name>myfn</short-name><!-- 使用的短名稱。對應的是taglib指令中的prefix -->
<!-- uri:把當前的方法庫綁定到一個uri地址上,在該網址上不一定存在方法庫 -->
<uri>http://www.zeroyoung.com/functions/myfunction</uri>
<function><!-- 自定義方法 -->
<name>touppoercase</name><!-- 方法的名稱,是jsp頁面上使用的名稱 -->
<!-- 指定執行的類 -->
<function-class>com.zeroyoung.web.function.MyFunction</function-class>
<!-- 指定執行的方法。方法名稱必須和類中的方法名稱保持一致
注意:當方法有參數和返回值時:參數和返回值必須寫類全名(除了基本數據類型)
-->
<function-signature>java.lang.String toUpperCase( java.lang.String )</function-signature>
</function>
</taglib>
在jsp當中添加支持:
<%@ taglib uri="http://www.zeroyoung.com/functions/myfunction" prefix="myfn" %>
使用:
${myfn:toUpperCase("abcdf")}