zoukankan      html  css  js  c++  java
  • 自定义一个EL函数

    自定义一个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;
    
        }
        
    }

    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://java.ding.com/jsp/jstl/date/functions</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")}
  • 相关阅读:
    [King.yue]EXT.Grid行双击事件
    [King.yue]关于代码调试时的缓存问题的一个解决办法
    [Buffalo]ASP.NET MVC路由映射
    [Tommas] 如何创建自动化功能测试的基本原则
    [Tommas] Web测试中,各类web控件测试点总结
    [Tommas] ERP系统测试用例设计1(转)
    [King.yue]VS2012 无法启动IIS Express Web服务器的解决方案
    原创 html动态表格
    原创 SqlParameter 事务 批量数据插入
    jquery readio checked
  • 原文地址:https://www.cnblogs.com/dwb91/p/6529916.html
Copyright © 2011-2022 走看看