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")}