zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    AJAX---发送GET请求并传递参数
    AJAX---遵循http协议
    AJAX---onreadystatechange事件中获取相应内容和readystate状态
    AJAX---发送请求
    AJAX---简介
    AJAX---学习roadmap
    jQuery---jquery.ui实现新闻模块
    jQuery---jquery.color.js和jquery.lazyload.js的使用
    jQuery---jQuery插件
    通过JavaScript调用SOAP终结点执行实体消息
  • 原文地址:https://www.cnblogs.com/zouhong/p/11819076.html
Copyright © 2011-2022 走看看