我對JSF,Java Beans和JPQL相當陌生。我有2個嵌套的c:forEach標籤。每個DISTINCT日期的第一個循環,在該日期每個'時間段'的第二個循環。Java Bean和JSF格式日期列表
<c:forEach var="d" items="#{bean.listedDates(1)}" >
#{d.date} <!-- this displays '11' -->
<ui:decorate template="template for day" />
<c:forEach var="item" items="#{bean.listedTimeslots(1, d.date)}">
<ui:decorate template="template for time-slot row" />
</c:forEach>
</c:forEach>
bean.java - listedDates
public List<Date> listedDates(int idPass) {
List<Date> dateQueue = em.createQuery("SELECT DISTINCT l.date FROM table1 l WHERE l.id = :id")
.setParameter("id", idPass)
.getResultList();
System.out.println("DATES DISPLAYED BELOW");
System.out.print(dateQueue);
return dateQueue;
}
控制檯
信息:紅棗下方顯示
信息:星期三2月11日00:00:00 GMT 2015年,3月11日星期三00:00:00 GMT,2015年4月11日星期六00:00:00 BST 2015]
但是,#{d.date}顯示「11」。此錯誤發生在將d.date傳遞到listedTimeslots。
無法將類型類java.lang.Integer中的11類java.util.Date
我需要從[週三年02月11日00:00:00 GMT 2015年]來格式化日期列表[YYYY-MM-DD](這也是如何顯示在數據庫中),任何人都可以給我任何指針?謝謝!
你嘗試JSF轉換器? –
是的,我嘗試了''第二遍forEach,但沒有顯示數據。 –
onlyMemes
如何鑄造你的結果集,我不(T認爲你是從數據庫中接收日期 –