el表达式中自定义函数

一、1.EL表达式调用Javabean中的函数非常简单,只要有getXXX方法,就可以在页面上写${javaben.xxx}从而调用方法了

2 。EL表达式调用标签中的方法:

如EL调用jstl中方法如下:

[java]  view plain  copy
  1. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>  
  2.   
  3. ${fn:contains(stringA,stringB)}  
二、
1.先定义需要用el调用函数所在的类:注意el所调用的方法必须是static的!

package com.xxuu.util.date;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class FunctionsEl { 
   /**
    * 把 Thu Dec 14 00:00:00 CST 2017 转换成自己想要的格式
    * @param date
    * @param pattern
    * @return
    */
   public static String dateStringFormat(String date, String pattern) { 
       if(date == null || pattern == null) { 
           return null; 
       } 
       try { 
           Date formDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US).parse(date); 
           return new SimpleDateFormat(pattern, Locale.CHINA).format(formDate); 
       } catch (ParseException e) { 
           e.printStackTrace(); 
       } 
       return null;
   } 

}

2.再在项目的src目录下创建自己的tld文件:如myel.tld



  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">
 
  我的el function
  1.0
  el
  http://www.wip.com    
  
   
    calculate string length
    dateStringFormat   
    com.xxuu.util.date.FunctionsEl   
    String dateStringFormat(java.lang.String,java.lang.String)
   
      ${el:dateStringFormat(str1,str2)}  
   

 

 

3.首先jsp页面要有 
<%@ taglib prefix="el" uri="http://www.wip.com" %>    <%--调用 --%> 
 
  
${el:dateStringFormat(dateStr,'yyyy-MM-dd')} 


你可能感兴趣的:(前端学习)