随笔 - 832  文章 - 2  评论 - 31  阅读 - 167万

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。

 

posted on   小破孩楼主  阅读(539)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-11-08 扩充字符串
2018-11-08 字符串替换
2018-11-08 字符串合并
2018-11-08 字符串截取练习
2018-11-08 字符串截取
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示