Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示

前端之家收集整理的这篇文章主要介绍了Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本例以将 字符串格式的时间转成指定的时间格式显示

 

第一步、定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下:

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

 javax.servlet.jsp.JspException;
 javax.servlet.jsp.tagext.TagSupport;
/**
 * 自定义的时间处理标签
 *
 */
public class JSTLDateTag extends TagSupport {
    
     * 
     */
    private static final long serialVersionUID = -8683014812426654300L;
    private String value;//对应jstl表达式中的value值
     String parttern;//对应表达式中的partern指定的时间格式

    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 String getValue() {
        return value;
    }

    void setValue(String value) {
        this.value = String getParttern() {
         parttern;
    }

     setParttern(String parttern) {
        this.parttern = parttern;
    }


}@H_403_118@

第二步、编写一个tld格式的文件。(格式类似于xml格式的文件)如下:dateformat.tld

<?xml version="1.0" encoding="UTF-8"?>
<taglib>
    tlib-version>1.1</jsp-version>1.2short-name>date>

    tag>
        name>stringToDatetag-class>com.xxx.JSTLDateTag><!-- 刚才写的那个标签处理类-->
        attribute>
            >valuerequired>truertexprvalue>parttern>
>@H_403_118@

 

 第三步、在web.xml中加入配置,找到web.xml中的<jsp-config>节点加入<taglib>配置,代码如下:

    jsp-configtaglib-uri>http://java.sun.com/jsp/jstl/coretaglib-location>/WEB-INF/tld/c.tld>
         <!-- 自定义JSTL时间格式化 -->
       >        
           >/datetag> <!-- 注意这里的 '/datetag',下面就要用到 -->  
           >/WEB-INF/tld/dateformat.tld>            
       >   
    >@H_403_118@

 

第四步、在jsp页面中使用自定义标签,如下

 

%@ taglib uri="/datetag" prefix="fmtDate"%>

fmtDate:stringToDate parttern="yyyy-MM-dd HH:mm:ss" value="${hotContent.createDate}"></fmtDate:stringToDate>@H_403_118@

猜你在找的Java相关文章