首页 > 代码库 > Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示

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

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

 

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

import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;/** * 自定义的时间处理标签 * */public class JSTLDateTag extends TagSupport {    /**     *      */    private static final long serialVersionUID = -8683014812426654300L;    private String value;//对应jstl表达式中的value值    private String parttern;//对应表达式中的partern指定的时间格式    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 String getValue() {        return value;    }    public void setValue(String value) {        this.value =http://www.mamicode.com/ value;    }    public String getParttern() {        return parttern;    }    public void setParttern(String parttern) {        this.parttern = parttern;    }}

第二步、编写一个tld格式的文件。(格式类似于xml格式的文件)如下:dateformat.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>    <tag>        <name>stringToDate</name>        <tag-class>com.xxx.JSTLDateTag</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>

 

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

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

 

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

 

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