jsp转long类型为date,并且格式化
Posted 小破孩楼主
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp转long类型为date,并且格式化相关的知识,希望对你有一定的参考价值。
方式一、使用java脚本
<% Long time = (Long)request.getAttribute("longtime"); Date date=new Date(time); SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); String timeStr = sdf.format(date); out.println(timeStr); %>
这里使用到了Date和SimpleDateFormat这两个类,需要在jsp前面使用import引用这两个类。<%@ page language="java" import="java.util.*,java.text.*" pageEncoding="utf-8"%>(上面的代码,在jsp中耦合度高,维护起来也相对复杂。)
方式二、使用自定义标签
1、新建一个java类,继承TagSupport,在doStartTag处理逻辑 package com.hoolai.pirates.football.util; 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 DateTag extends TagSupport { private static final long serialVersionUID = -2312310581852395045L; private String value; @Override public int doStartTag() throws JspException { String vv = "" + value; long time = Long.valueOf(vv); Calendar c = Calendar.getInstance(); c.setTimeInMillis(time); SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = dateformat.format(c.getTime()); try { pageContext.getOut().write(s); } catch (IOException e) { e.printStackTrace(); } return super.doStartTag(); } public void setValue(String value) { this.value = value; } }
2、有WEB-INF下建立一个datetag.tld
<?xml version="1.0" encoding="UTF-8"?> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <tag> <name>date</name> <tag-class>com.hoolai.pirates.football.util.DateTag</tag-class> <body-content>JSP</body-content> <attribute> <name>value</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
3、在jsp中引入
<%@ taglib prefix="lzq" uri="/WEB-INF/lib/tld/datetag.tld"%>
4、页面中用到的地方
<td align="left"><input name="endTime" type="text" value="<lzq:date value="${res.endTime}"/>" class="input_bg" /></td>
方式三、使用<jsp:userBean>
<jsp:useBean id="timestamp" class="java.util.Date"/> <jsp:setProperty name="timestamp" property="time" value="${longtime}"/> <fmt:formatDate value="${timestamp}" pattern="MM/dd/yyyy HH:mm:ss"/>
<jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象:
如果存在则直接返回该JavaBean对象的引用。如果不存在则实例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。
常用语法:
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
id属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。
class属性用于指定JavaBean的完整类名(即必须带有包名)。
scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。
以上是关于jsp转long类型为date,并且格式化的主要内容,如果未能解决你的问题,请参考以下文章