用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 文件

<%@ taglib uri="/WEB-INF/func.tld" prefix="func"%>

5.调用自定义方法

${func:getStringDate(data.createdate, "yyyy-MM-dd hh-mm-ss")}


你可能感兴趣的:(JSP)