我对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认为你是从数据库中接收日期 –