JSP标签库Taglib之自定义function篇,轻松实现日期格式化

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/78121046 一、什么是Taglib?如果你曾使用JSP页面来作为渲染视图的话,我相信你对JSTL标签库一定不会感到陌生。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/78121046

一、什么是Taglib?

如果你曾使用JSP页面来作为渲染视图的话,我相信你对JSTL标签库一定不会感到陌生。

比如:

1.forEach代码片段


<c:forEach var="i" begin="1" end="5">
   Item <c:out value="${i}"/><p>
</c:forEach>

2.formatNumber 代码片段


<fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" />

3.fn:length代码片段


${fn:length(string1)}

在我写代码的过程中,以上三种类型的JSTL标签使用频率最高。

它们分别是

  1. 核心标签
  2. 格式化标签
  3. JSTL函数

JSTL标签库可通过以下方式进行导入。


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

标签库(tag library),是指由在JSP页面中使用的标记所组成的库。JSP容器推出时带有一个小型的、默认的标记库。JSTL是其中一种,最为常用。

二、自定义function

但在实际的应用当中,JSTL并不能完全满足我们的需求,所以我们要能够实时的对其进行扩展。

有这样一种场景。

1.数据库中更新日期的数据格式(bigint型,13位长度。)如下:

`update_date` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间',

2.对应的Java类中的格式(Long )为:

protected Long update_date;
public Long getUpdate_date() {
    return update_date;
}

public void setUpdate_date(Long update_date) {
    this.update_date = update_date;
}

3.JSP页面中显示的格式为:

这里写图片描述

这种情况下,JSTL就“黔驴技穷”了,我们需要新增一种function来实现它。

第一步,Java端新建格式化方法

package com.cmower.common.util;

public class DateUtil {

    public static final String PATTERN_STANDARD = "yyyy-MM-dd HH:mm:ss";

    public static String formatTime(Long time) {
        if (time == null) {
            return " - ";
        }
        if (time == 0L) {
            return "  - ";
        }

        Date date = new Date(time);
        SimpleDateFormat formatter = new SimpleDateFormat(PATTERN_STANDARD);
        return formatter.format(date);
    }
}

第二步,把formatTime方法的使用权限传递给JSP页面

首先,新建fns.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">
    <description>server function library</description>
    <tlib-version>1.0</tlib-version>
    <short-name>fns</short-name>
    <uri>http://localhost/fns</uri>

    <function>
        <description>转码long型日期值</description>
        <name>formatTime</name>
        <function-class>com.cmower.common.util.DateUtil</function-class>
        <function-signature>java.lang.String formatTime(java.lang.Long)</function-signature>
        <example>${fns:formatTime(long)}</example>
    </function>

</taglib>
  1. <short-name>fns</short-name>定义该taglib的前缀为fns;
  2. <name>formatTime</name>定义该taglib的function名为formatTime;
  3. <function-class>com.cmower.common.util.DateUtil</function-class>function的类名;
  4. <function-signature>java.lang.String formatTime(java.lang.Long)</function-signature>function关联Java端的方法名。

然后,我需要把该自定义标签库导入到对应的JSP页面中:

<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>

通过以下代码调用它:

${fns:formatTime(update_date)}

通过以上步骤就能够完成自定义Taglib了,小技能,大功效。


从前日色变得慢,一生只够爱一人。微信扫一扫,关注沉默王二公众号。

相关文章
|
23天前
|
SQL XML Java
JSP 教程 之 JSP 标准标签库(JSTL) 4
**JSP的JSTL是用于简化Web开发的标签库,包括核心、格式化、SQL、XML和函数5个部分。SQL标签库允许与数据库交互,如设定数据源、执行查询和更新,以及处理参数。例如, `&lt;sql:setDataSource&gt;` 定义数据源, `&lt;sql:query&gt;` 执行查询。通过使用JSTL,开发者能更整洁地处理JSP页面。**
24 8
|
24天前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 1
JSP的JSTL是用于简化页面逻辑的标签库,涵盖核心、格式化、SQL、XML和函数五大类标签。要安装,下载Apache的JSTL包,将jar文件放入WEB-INF/lib,tld文件复制到WEB-INF,并在web.xml中配置相应的taglib信息。JSTL促进了JSP页面的清洁和结构化。
19 5
|
22天前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 5
JSP的JSTL是用于简化JSP开发的标签库,包括核心、格式化、SQL、XML和函数五大标签集。XML标签库处理XML文档,如`&lt;x:out&gt;`显示XML数据,`&lt;x:parse&gt;`解析XML,`&lt;x:forEach&gt;`遍历节点。使用前需添加XercesImpl.jar和xalan.jar到Tomcat的lib目录。
19 6
|
22天前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 6
**JSP JSTL 摘要:** JSTL是JSP的标签库,包含核心、格式化、SQL、XML和函数5类标签。它用于执行常见任务,如迭代、条件判断和XML操作。JSTL函数库提供字符串处理函数,如`contains()`, `endsWith()`, `escapeXml()`等,方便XML和HTML处理。通过`&lt;%@ taglib %&gt;`导入,如`fn:trim()`用于去除字符串两端空白。
18 5
|
1月前
|
Java 应用服务中间件 Android开发
完成你的自定义JSP Tag标签-Basic Coustom Tag
完成你的自定义JSP Tag标签-Basic Coustom Tag
15 0
|
2月前
|
Java
jsp页面中使用jstl标签报错:javax.servlet.jsp.JspTagException
jsp页面中使用jstl标签报错:javax.servlet.jsp.JspTagException
40 0
|
8月前
|
XML Java 程序员
自定义JSP标签
自定义JSP标签
|
7月前
|
Java
jsp标签下
jsp标签下
33 0
|
7月前
|
XML Java 数据格式
jsp标签上
jsp标签上
34 0
|
7月前
|
Java
JSP标签(2) -----自定义foreach ,select标签,全网最详细,最完整易懂
JSP标签(2) -----自定义foreach ,select标签,全网最详细,最完整易懂

相关课程

更多