java - 如何使用jSTL获取jsp中日历类型方法中设置的日期?

标签 java jsp spring-mvc jstl gregorian-calendar

我正在使用执行查询

select lastlevel as VERSION,name as DESCRIPTION,
TO_DATE(lastdate, 'DDMONYYYY_HH24:MI:SS') as RELEASEDATE
from mytable where rownum<=10

这里列lastdate是varchar类型

给出这样的结果

Version     Release Date        
1.0         2002-11-22

2.0     2003-02-08

我将上述查询的结果设置为这样 这里setLastDate是calender类型的,所以我在方法中设置发布日期的结果,如

if (rs.getString("VERSION") != null ) {             bean.setLastLevel(rs.getString("VERSION").trim());
}

if (rs.getDate("RELEASEDATE") != null ) 
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(rs.getDate("RELEASEDATE"));
bean.setLastDate(calendar);
}

该值在 bean 中设置,如下所示 2003-02-08。 最后我将此结果 bean 添加到数组列表“list”中,例如 列表.add(bean);

现在我想要jsp中的所有这些值。我正在使用 spring mvc,因此我使用 arraylist“列表”返回 View 。 当我迭代jsp中的值时 像这样

<c:forEach var="list" items="${list}">
<td valign="top">${list.lastLevel}</td>
<td valign="top">${list.lastDate}</td>
</c:forEach>

在jsp中,我不是像这样获取日期

Version     Release Date        
1.0          java.util.GregorianCalendar[time=1037775600000,areFieldsSet=true,

areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="US/Arizona",offset=-25200000,dstSavings=0,useDaylight=false,transitions=12,lastRule=null] ,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2002,MONTH=10,WEEK_OF_YEAR=47,WEEK_OF_MONTH=4,DAY_OF_MONTH=20,DAY_OF_YEAR=324,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,小时=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-25200000,DST_OFFSET=0]

2.0          java.util.GregorianCalendar[time=1044687600000,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="US/Arizona",offset=-25200000,dstSavings=0,useDaylight=false,transitions=12,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2003,MONTH=1,WEEK_OF_YEAR=6,WEEK_OF_MONTH=2,DAY_OF_MONTH=8,DAY_OF_YEAR=39,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=-25200000,DST_OFFSET=0] 

请帮我解决这个问题。我需要获取结果中的日期。如何解决这个问题。 提前致谢。

最佳答案

使用

<td valign="top">${list.lastDate.time}</td>

它将在日历实例上调用 getTime() 方法,该方法返回 Date 实例

最好不要使用与属性相同的变量名称,而是将其命名为 row (或其他合理的变量名称),然后命名为 ${row.lastDate.time}

<c:forEach var="row" items="${list}">
</c:forEach>

如果您想要自定义格式输出,则

添加

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

并像这样使用它

<fmt:formatDate pattern="yyyy-MM-dd"  value="${list.lastDate.time}" />

关于java - 如何使用jSTL获取jsp中日历类型方法中设置的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061409/

相关文章:

java - 如何写入具有特定字符集的 StyledDocument?

java - Android - 本地数据库(SQLite)与内部类(通过单例)

javascript - 访问查询参数的方法 JSP, JSTL, Javascript

java - 在 Spring MVC + Hibernate 应用程序中的某个类中获取方言

java - 需要在Struts2和Spring中实现RESTful web服务

java - 创建返回对象的方法的语法问题(java)

java - 如何在导出到 jar 时分离 eclipse 中的 .java 文件

eclipse - Eclipse中找不到JSTL核心库描述符错误

java - 在浏览器 (Firefox) 上打印代码

java - @RequestMapping 中的 Spring Controller : How to use property ${. .}?