EL自定义函数
JSP 标准标记库 (JSTL) 是自定义标记库的集合,它将许多 JSP 应用程序通用的核心功能封装为简单的标记,但有时候仍然无法满足我们的需求,这时候就要用到 EL 的自定义函数了。
创建 EL 自定义函数只需简单 3 步就可以轻松完成了。
1、新建一个类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package me.zhangqian.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public final class DateTimeFormat { private static SimpleDateFormat format; /** * 将日期和时间格式化为字符串 * @param date 需要格式化的日期和时间 * @param pattern 日期和时间的格式 * @return 格式化后的字符串 */ public static String date2str(Date date, String pattern) { if (date == null) date = new Date(); format = new SimpleDateFormat(pattern, Locale.US); return format.format(date); } } |
2、在/WEB-INF目录下新建一个 tld 文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?xml version="1.0" encoding="UTF-8"?> <taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"> <tlib-version>1.0</tlib-version> <short-name>format</short-name> <function> <description>格式化日期和时间</description> <name>date2str</name> <function-class>me.zhangqian.util.DateTimeFormat</function-class> <!-- 方法 --> <function-signature> java.lang.String date2str(java.util.Date, java.lang.String) </function-signature> </function> </taglib> |
3、将 tld 文件引入到要使用的 jsp 页面,并进行使用:
1 2 3 4 5 6 7 8 |
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <%@ taglib prefix="format" uri="/WEB-INF/datetimeformat.tld" %> <c:set var="date" value="<%= new java.util.Date()%>"/> ${format:date2str(date,'MMMM dd, yyyy')} |