`

如何编写jstl自定义标签(示例:自定义jstl Long型时间转为date型)

    博客分类:
  • jstl
 
阅读更多
jstl有很多时间格式化的标签,但貌似只是支持date型的,更多的我也没去细搜,不过貌似就是不支持long型,其实long型对我们也是很有

用的,比如说按时间排序、、很方便是不是、 在jstl里就比较麻烦了,好在jstl可以写自定义标签,写这篇文章的目的其实也不只是介绍这个

long型时间格式化问题,主要还是怎么写自定义标签.
package com.controller.touch;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 用于页面jstl时间格式化
 * @author jiangnan
 *
 */
public class JSTLDateUtils extends TagSupport {

    /**
     * 
     */
    private static final long serialVersionUID = -3354015192721342312L;
    private String value;
    public void setValue(String value) {
        this.value = value;
    }
        private String parttern;
    public void setValue(String parttern ) {
        this.value =  parttern ;
    }
    public int doStartTag() throws JspException{
        String vv = String.valueOf(value);  
        long time = Long.valueOf(vv);  
        Calendar c = Calendar.getInstance();  
        c.setTimeInMillis(time);  
        SimpleDateFormat dateformat =new SimpleDateFormat(parttern);  
        String s = dateformat.format(c.getTime());  
        try {  
            pageContext.getOut().write(s);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        return super.doStartTag();
    }
    public static void main(String[] args) {
        long a =1332744845078l;
         long time = Long.valueOf(a);  
            Calendar c = Calendar.getInstance();  
            c.setTimeInMillis(time);  
            SimpleDateFormat dateformat =new SimpleDateFormat("MM-dd HH:mm");  
            String s = dateformat.format(c.getTime());  
        System.out.println(s);
    }
}

在web.xml 中要添加这些东西:
<!-- 自定义JSTL时间格式化 -->
    <jsp-config>
        <taglib>        
            <taglib-uri>/tags</taglib-uri>   
            <taglib-location>/WEB-INF/datetag.tld</taglib-location>            
        </taglib>   
    </jsp-config>

datetag.tld则按下面书写
<?xml version="1.0" encoding="UTF-8"?>
<taglib>  
    <tlib-version>1.1</tlib-version>  
    <jsp-version>1.2</jsp-version>  
    <short-name>date</short-name>//这里说明一下,开始我也没加这个东西,但是发现resin疯狂的报错啊,后来才发现resin对tld文件做严格语法检查,所以一定要加上这个
    <tag>  
        <name>date</name>  
        <tag-class>com.controller.touch.JSTLDateUtils</tag-class>          
        <attribute>  
            <name>value</name>  
            <required>true</required>  
            <rtexprvalue>true</rtexprvalue>  
        </attribute>
<attribute>  
            <name>parttern</name>  
            <required>true</required>  
            <rtexprvalue>true</rtexprvalue>  
        </attribute>    
    </tag>  
</taglib>

最后jsp中就可以使用如下标签进行写代码了

<date:date value="${time}" pattern="yyyy-MM-dd HH:mm:ss"/>

别忘记在页头加上引用 <%@ taglib uri="/tags" prefix="date"%> 否则会报错哦 

如果想使用多个自定义的标签可以编写多个类,然后再tld中进行添加对用的tag就可以啦
分享到:
评论

相关推荐

    JSTL自定义标签实例解析

    自己做的一个小例子,实现JSTL自定义标签。功能:输入x和y,点击按钮后循环输出y次x。

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...

    jstl 自定义标签

    jstl 自定义标签 int转换为时间格式

    jstl自定义标签,自定义EL表达式

    这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便

    JSTL 开发自定义标签使用的jar

    JSTL 开发自定义标签使用的jar jstl.jar standard.jar

    jstl自定义标签和函数思维导图

    jstl自定义标签和函数思维导图

    JSTL 自定义标签

    NULL 博文链接:https://zhouxianglh.iteye.com/blog/858182

    这个压缩包里有JSTL自定义标签开发实例的源码及相关文件

    这个压缩包里有我在学习JSTL自定义标签时写的一些自定义标签实例,如果你也在学JavaWeb技术,那么我相信这些源码会对你有帮助的

    JSTL JSP 自定义标签 分页

    jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    JavaWeb-12:自定义标签库开发&JSTL标签库

    jstl所有标签详细运用的代码示例

    jstl所有标签库sql、xml、core、fmt、functions所有标签的详细运用的代码示例。

    EL、JSTL、自定义标签、过滤器的ppt

    EL、JSTL、自定义标签、过滤器的ppt

    自定义标签库(自己写)

    自己写的自定义标签库,实现JSTL常用的功能。

    JSTL详细标签库介绍

    因为一些程序员使用不支持异常处理语言编程时,往往拖延或忘记错误处理程序的编写,故,Java强制程序员从项目一开始就着手进行异常处理,程序员必须投入很大精力把异常处理的策略融合到软件产品中&lt;BR&gt;11、 ...

    JSTL标签JSTL标签

    JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签

    JSTL中if标签使用方法

    &lt;c:if&gt; &lt;c:if&gt;的用途就和我们一般在程序中用的if一样。  语法  语法1:没有本体内容(body)  &lt;c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/... 类 型  必 须  默认值

    JSTL自定义EL表达式

    本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用

    JSTL标签大全

    JSTL标签大全,涵盖JSTL教程 JSTL标签库使用方法: 标签库 URI 前缀 使用模式 核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname…&gt; 国际化标签(I18N) ...

    JSTL标签库

    JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大...

    jsp自定义标签-比较强大的

    jsp、jstl自定义标签实现的分页,实现的还是比较好的,没有在request、session等范围保存过数据,在pageContext范围内保存过集合的数据, 实现的方法还是比较简单的,适用性还是比较广的,我是实在是没分了,平时也...

Global site tag (gtag.js) - Google Analytics