用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文件夹下 )

<?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>JSTL 1.1 functions library</description>
    <display-name>JSTL functions</display-name>
    <tlib-version>1.1</tlib-version>
    <short-name>func</short-name>
    <uri>/WEB-INF/func.tld</uri>
    <function>
        <description>
            Converts all of the characters of a string to lower case.
        </description>
        <name>getStringDate</name>
        <function-class>com.util.DateUtils</function-class>
        <function-signature>java.lang.String getStringDate(java.util.Date,java.lang.String)</function-signature>
        <example>
            Product name: ${func.getStringDate(java.util.Date,java.lang.String)}
        </example>
    </function>
</taglib>

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

    <jsp-config>
        <!--<taglib>-->
            <!--<taglib-uri>/WEB-INF/func.tld</taglib-uri><!–与tld中uri一致就可–>-->
            <!--<taglib-location>/WEB-INF/func.tld</taglib-location><!–tld所在的位置–>-->
        <!--</taglib>-->
        <jsp-property-group>
            <url-pattern>/WEB-INF/func.tld</url-pattern><!--与tld中uri一致就可 -->
            <include-coda>/WEB-INF/func.tld</include-coda><!-- tld所在的位置-->
        </jsp-property-group>
    </jsp-config>

4.jsp引用 .tld 文件

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

5.调用自定义方法

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值