How to get date set in method of calender type in jsp using jstl?

为君一笑 提交于 2019-12-11 11:12:21

问题


i am using a executing a query

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

here the column lastdate is of varchar type

which give result like this

Version     Release Date        
1.0         2002-11-22

2.0     2003-02-08

i am setting the result of the above query like this here setLastDate is of calender type,so i am setting the result of release date in the method like

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);
}

the value is being set in the bean like this 2003-02-08. at the end i am adding this result bean to an array list "list" like list.add(bean);

now i want all this value in jsp. I am using spring mvc so i return view with the arraylist "list". when i am iterating the value in jsp like this

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

in jsp instead of getting date i am getting like this

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,HOUR=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] 

please help me in solving this.I need to get the date as in result.How to resolve this. Thanks in advance.


回答1:


Use

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

It will call getTime() method on calendar instance which returns the Date instance

It is preferable not to use same var name as the attribute, call it row (or someother sensible variable name) instead and then ${row.lastDate.time}

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

if you want the custom format output then

add

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

and use it like

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


来源:https://stackoverflow.com/questions/11061409/how-to-get-date-set-in-method-of-calender-type-in-jsp-using-jstl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!