发表于: 2018-04-08 19:27:37

1 865


今天完成的事情:

1.三种方法转换时间类型

 (1)通过java代码实现;

   在前面日报中已经写过,通过写一个时间转换的POJO,再写2个方法进行转换。今天和师兄指出这里可以通过另外一种方法实现,明天尝试。

 (2)通过JSP标签格式化

<jsp:useBean id="datevalue" class="java.util.Date"/>
<%--2.通过<jsp:setProperty />为Date实例设置long型 time属性值--%>
<jsp:setProperty name="datevalue" property="time" value="${rs.update_at}"/>
<%--通过<fmt:formatDate  />格式化Date实例--%>
<fmt:formatDate value="${datevalue}" pattern="yyy-MM-dd"/>



 (3)自定义tag标签;

package com.POJO;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
* @Author: Jaime
* @Date: 2018/4/8 21:30
* @Description: *
*/
public class DateTag extends TagSupport{
private static final long serialVersionUID = 6464168398214506236L;

   private String value;

   @Override
   public int doStartTag() throws JspException {
       String vv = ""+value ;
       long time = Long.valueOf(vv);
       //getInstance()使用默认时区和语言环境获得一个日历。
       Calendar c = Calendar. getInstance();
       //setTimeInMillis()用给定的 long 值设置此 Calendar 的当前时间值。
       c.setTimeInMillis(time);
       SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
       String s = dateformat.format(c.getTime());
       try {
//涉及到Out对象。这里运用pageContext对象获取out对象,写入s;
           pageContext.getOut().write(s);
       } catch (IOException e) {
           e.printStackTrace();

       }

//这里返回的不太懂,返回的int,但是是什么呢?

return super.doStartTag();
   }
public void setValue(String value) {
this.value = value;
   }
}

datetag.tld文件

<?xml version="1.0" encoding= "UTF-8"?>
<taglib>

   <short-name>dt</short-name>

//和网上例子的不同,这里设置了uri,不需要在web.xml中进行设置

   <uri>/tags</uri>
   <tlib-version>1.0</tlib-version>
   <jsp-version>1.2</jsp-version>
   <tag>
       <name>date</name>
       <tag-class>com.POJO.DateTag</tag-class>
       <body-content>JSP</body-content>
       <attribute>
           <name>value</name>
           <required>true</required>
           <rtexprvalue>true</rtexprvalue>
       </attribute>
   </tag>
</taglib>

后面2种方法的jsp页面。

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="/tags" prefix="date"%>
<%--
 Created by IntelliJ IDEA.
 User: Administrator
 Date: 2018/3/28
 Time: 22:42
 To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Title</title>
</head>
<body>
//方法3

<date:date value="${rs.create_at}"/><br>

//方法2

<jsp:useBean id="datevalue" class="java.util.Date"/>
<jsp:setProperty name="datevalue" property="time" value="${rs.update_at}"/>
<fmt:formatDate value="${datevalue}" pattern="yyyy-MM-dd HH:mm:ss"/>
<center>查询结果</center>
<table width="60%" border="1" cellpadding="2" cellspacing="0" align="center">
   <tr>
       <th>ID</th>
       <th>NAME</th>
       <th>QQ</th>
       <th>onlineID</th>
       <th>time_of_enrollment</th>
       <th>graduate_institutions</th>
       <th>report_link</th>
       <th>hearfrom</th>
       <th> </th>
       <th> </th>
   </tr>
   <tr>
       <td>${rs.ID}</td>
       <td>${rs.name }</td>
       <td>${rs.QQ}</td>
       <td>${rs.onlineID}</td>
       <td>${rs.time_of_enrollment}</td>
       <td>${rs.graduate_institutions}</td>
       <td>${rs.report_link}</td>
       <td>${rs.hearfrom}</td>

       <td><form action="${pageContext.request.contextPath}/student/${student.ID}" method="post">
           <input type="submit" value="更新">
       </form> </td>
       <td><form action="${pageContext.request.contextPath}/student/${student.ID}" method="post">
           <input type="hidden" name="_method" value="DELETE">
           <input type="submit" value="删除">
       </form></td>
   </tr>
</table><br>
<br>
<a href="/index.jsp">返回主页</a>
</body>
</html>



2.由于学习自定义标签,学了out对象和pagecontext对象

将PageContext对象和ApplicationContext对象结合在一起理解比较形象。

当我们在使用Spring的时候,如果我们需要实例化某个对象,我们都从上下文中拿。

这里PageContext也相似,在jsp中有九个内置对象,PageContext是其中一个,其他8个可以看做Bean,当我们要使用其他8个时,我们可以通过PageContext来获取。

3.上传项目到服务器。

明天计划的事情:(一定要写非常细致的内容) 

验证上面三种方法的优缺点,第一种方法已经验证可行,但是对需要理清楚逻辑再写。
遇到的问题:(遇到什么困难,怎么解决的) 

----

收获:(通过今天的学习,学到了什么知识)

jsp的内置对象Out和PageContext的详细学习。

自定义tag标签的学习。


返回列表 返回列表
评论

    分享到