用EL表达式调用Java方法

背景:在使用EL表达式循环输出日期类型的数据,由于不知道 fmt 已经定义了日期类型的格式化方法,就自定义了一个
1.编写java静态方法(class 是DateUtils)

public static String getStringDate(Date date, String timeFormat){ SimpleDateFormat formatter = new SimpleDateFormat(timeFormat); String dateString = formatter.format(date); return dateString; }

2.添加 .tld 配置文件(可以放在WEB-INF文件夹下 )
JSTL 1.1 functions library JSTL functions 1.1 func /WEB-INF/func.tld Converts all of the characters of a string to lower case. getStringDate com.util.DateUtils java.lang.String getStringDate(java.util.Date,java.lang.String) Product name: ${func.getStringDate(java.util.Date,java.lang.String)}

3.web.xml 根节点下添加 tld 文件的配置 (tomcat 7.0 中可用,其他环境未测试)
/WEB-INF/func.tld /WEB-INF/func.tld

4.jsp引用 .tld 文件

5.调用自定义方法
${func:getStringDate(data.createdate, "yyyy-MM-dd hh-mm-ss")}

【用EL表达式调用Java方法】

    推荐阅读