一、1.EL表达式调用Javabean中的函数非常简单,只要有getXXX方法,就可以在页面上写${javaben.xxx}从而调用方法了
2 。EL表达式调用标签<tag>中的方法:
如EL调用jstl中<fn:contains/>方法如下:
二、
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
<?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">
<display-name>我的el function</display-name>
<tlib-version>1.0</tlib-version>
<short-name>el</short-name>
<uri>http://www.wip.com</uri> <!-- jsp页面访问的uri -->
<function>
<description>calculate string length</description>
<name>dateStringFormat</name> <!-- 方法-->
<function-class>com.xxuu.util.date.FunctionsEl</function-class> <!-- 自定义的类路径 -->
<function-signature>String dateStringFormat(java.lang.String,java.lang.String)</function-signature>
<example>
${el:dateStringFormat(str1,str2)} <!-- 举例 -->
</example>
</function>
</taglib>
3.首先jsp页面要有 <%@ taglib prefix="el" uri="http://www.wip.com" %> <%--调用 --%>
${el:dateStringFormat(dateStr,'yyyy-MM-dd')}