欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP标签库Taglib使用学习,轻松实现日期格式化

程序员文章站 2022-04-12 20:13:08
一、什么是taglib? 如果你曾使用jsp页面来作为渲染视图的话,我相信你对jstl标签库一定不会感到陌生。 比如: 1.foreach代码片段 `update_date` bigint(1...

一、什么是taglib?

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

比如:

1.foreach代码片段


`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页面中显示的格式为:

JSP标签库Taglib使用学习,轻松实现日期格式化

这种情况下,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文件,目录如下:

JSP标签库Taglib使用学习,轻松实现日期格式化

内容如下:



jsptaglibrary_2_0.xsd">
    server function library
    1.0
    fns
    https://localhost/fns

    
        转码long型日期值
        formattime
        com.cmower.common.util.dateutil
        java.lang.string formattime(java.lang.long)
        ${fns:formattime(long)}
    

fns定义该taglib的前缀为fns; formattime定义该taglib的function名为formattime; com.cmower.common.util.dateutilfunction的类名; java.lang.string formattime(java.lang.long)function关联java端的方法名。

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

<%@ taglib prefix="fns" uri="/web-inf/tlds/fns.tld" %>

通过以下代码调用它:

${fns:formattime(update_date)}

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