jstl中格式化时间戳


第一种方法:
在jsp页面中使用jstl标签将long型的时间戳转换为格式化后的时间字符串

1.通过<jsp:useBean />  导入java.util.Date类
2.通过<jsp:setProperty />为Date实例设置long型 time属性值
3.通过<fmt:formatDate  />格式化Date实例

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="dateValue" class="java.util.Date"/>
<jsp:setProperty name="dateValue" property="time" value="${timestampValue}"/>
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>

例子:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<jsp:useBean id="dateValue" class="java.util.Date"/>

下方代码中:
<td>
    <jsp:setProperty name="dateValue" property="time" value="${c.changetd}"/>
    <fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss"
       value="${dateValue}" />
</td>



第二种方法:
2.long转成date:

数据库里存储的是bigint型的时间,entity实体中存放的是long类型的标签,现在想输出到jsp页面,由于使用的是jstl标签,而要显示的是可读的时间类型,找来找去有个 fmt:formatDate可以转化,但是只能将String类型的转成date型,long型则不可以,觉得自定义标签比较靠谱,也不破环jsp页面这种标签结构,参考网上jstl标签编写方法,如下:
第一步 写一个类继承TagSupport,实现doStartTag() 方法。

package com.portx.util; import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.TagSupport; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; /**  * 用于页面 jstl时间格式化s  * Created by gmq on 2016/5/24.  */ public class DateTag extends TagSupport {     private static final long serialVersionUID = 6464168398214506236L;     private String value;     @Override     public int doStartTag() throws JspException {         String vv = "" + value;         try {             long time = Long.valueOf(vv.trim());             Calendar c = Calendar.getInstance();             c.setTimeInMillis(time);             SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm");             String s = dateformat.format(c.getTime());             pageContext.getOut().write(s);         } catch (Exception e) {             e.printStackTrace();         }         return super.doStartTag();     }     public void setValue(String value) {         this.value = value;     } }
第二步 编写tld文件,datetag.tld,放在/WEB-INF/tld/目录下: <?xml version="1.0" encoding= "UTF-8"?> <taglib>     <tlib-version>1.0</tlib-version>     <jsp-version>1.2</jsp-version>     <short-name>date</short-name>     <tag>         <name>date</name>         <tag-class>com.portx.util.DateTag</tag-class>         <body-content>JSP</body-content>         <attribute>             <name>value</name>             <required>true</required>             <rtexprvalue>true</rtexprvalue>         </attribute>     </tag> </taglib> 第三步  在web.xml中加入引用:
<jsp-config>
        <taglib>
            <taglib-uri>/tags</taglib-uri>
            <taglib-location>/WEB-INF/tld/datetag.tld</taglib-location>
        </taglib>
</jsp-config>

第四步 在jsp页面开始使用:

<%@ taglib uri="/tags" prefix="date"%>
....

<date:date value ="${item.createdTime} "/>


此时就可以把long转换成date类型的string了。





阅读更多
换一批

没有更多推荐了,返回首页