• 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。

  • 相关阅读:
    为 rails 本地项目搭建 elasticsearch 服务
    k8s与CICD--借助scp插件实现非容器项目的部署
    【Part1】用JS写一个Blog(node + vue + mongoDB)
    基于文本图形(ncurses)的文本搜索工具 ncgrep
    配置kubectl客户端通过token方式访问kube-apiserver
    关于C++ STL标准库中map 的多元素应用
    单元测试如何保证了易用的API
    Http请求连接池-HttpClient的AbstractConnPool源码分析
    安卓应用性能调试和优化经验分享
    为提升应用品质助力 绿标2.0检测项技术详解
  • 原文地址:https://www.cnblogs.com/zouhong/p/11819076.html
Copyright © 2020-2023  润新知