码迷,mamicode.com
首页 > 其他好文 > 详细

自定义一个EL函数

时间:2017-03-10 13:05:19      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:result   web.xml   inf   short   标签   logger   nat   cat   amp   

自定义一个EL函数 一般就是一下几个步骤,顺便提供一个工作常用的 案例:

1、编写一个java类,并编写一个静态方法(必需是静态方法),如下所示:

public class DateTag {

    private final static Logger logger = LogManager.getLogger(DateTag.class);

    private static final long serialVersionUID = -2312310581852395045L;

    public static String dateFormat(String date,String format) {
        String dateStr="";
        if(StringUtils.isBlank(format)){
            format="yyyy-MM-dd HH:mm";
        }
        if(StringUtils.isNotBlank(date) && !"null".equals(date.toLowerCase())){
            Long date_;
            try {
                date_ = Long.parseLong(date);
                Date date2 = new Date(date_);
                SimpleDateFormat df = new SimpleDateFormat(format);
                dateStr = df.format(date2);
            } catch (Exception e){
                logger.error(e);
            }
        }
        return dateStr;

    }
    public static Timestamp getTimestampByString(String time){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = null; //初始化date
        try {
            date = sdf.parse(time); //Mon Jan 14 00:00:00 CST 2013
        } catch (ParseException e) {
            logger.error(e);
        }
        java.sql.Timestamp timestamp = new java.sql.Timestamp(date.getTime());
        return  timestamp;
    }
}

 

2、创建一个标签描述文件(tld)文件,其就是一个xml文件,一般放在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">
<tlib-version>1.0</tlib-version>
<short-name>jnb</short-name>
<uri>http://java.ding.com/jsp/jstl/date/functions</uri>
<function>
  <description>函数描述:第一个参数是long类型的时间,第二个是时间格式</description> 
  <name>dateFormat</name>
  <function-class>com.mall.core.utils.DateTag</function-class>
 <function-signature>java.lang.String dateFormat(java.lang.String,java.lang.String)</function-signature>
</function>
</taglib>

 


3、在web.xml中注册该tld文件(</web-app>标签内)

<jsp-config>
<taglib>
<taglib-uri>http://www.itcast.cn/tld</taglib-uri><!--与tld中uri一致就可-->
<taglib-location>/WEB-INF/tld/mytld.tld</taglib-location><!--tld所在的位置-->
</taglib>
</jsp-config>

 

4、在JSP中使用该函数
先利用taglib指令引入该tld

<%@ taglib prefix="jnb" uri="http://java.ding.com/jsp/jstl/date/functions" %>

用以下方式代码来调用

${jnb:dateFormat(mapResult.dateBegin,"MM-dd")}

自定义一个EL函数

标签:result   web.xml   inf   short   标签   logger   nat   cat   amp   

原文地址:http://www.cnblogs.com/dwb91/p/6529916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!