【发布时间】:2016-02-20 16:05:35
【问题描述】:
我有一个标记到会话的数组列表,当我尝试使用 c:forEach 进行迭代时,它只显示前两个类和属性,当涉及到该数组列表中的第三类元素时,它只是不显示值属性。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<table id="myTable">
<c:choose>
<c:when test="${jednaRez.stoRez.zauzetostStola == false || nema == true}">
<tr>
<td style="border: 0;">
<p style="font-size: 15px;">
   Zauzetost stola:   <b>Slobodan </b>
</p>
</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach items="${rezeSto}" var="rezSto">
<tr>
<td style="border: 0;">
<p style="font-size: 15px;">
   Zauzetost stola:   <b>Zauzet </b>
</p>
</td>
</tr>
<tr>
<td style="border: 0;">
<p style="font-size: 15px;">
   Datum rezervacije:   <b> <span id="datumRez"> ${rezSto.datumRezervacije} </span> </b>
</p>
</td>
</tr>
<tr>
<td style="border: 0;">
<p style="font-size: 15px;">
   Trajanje rezervacije:   <b> ${rezSto.rezervacijaTrajanje} </b>
</p>
</td>
</tr>
<tr>
<td style="border: 0;">
<p style="font-size: 15px;">
   Korisnici:<b>   ${rezSto.gost.korisnikIme}   ${rezSto.gost.korisnikPrezime}   </b><!-- <c:forEach items="${rezSto.pozvaniPrijatelji}" var="pri"> ,<b> ${pri.gost.korisnikIme}   ${pri.gost.korisnikPrezime} </b> , </c:forEach>--> <br/>
____________________________________________________________
</p>
</td>
</tr>
<br/>
</c:forEach>
</c:otherwise>
</c:choose>
</table>
有什么想法吗?
这是我创建 arrayList rezeSto 的 servlet:
Korisnik men = (Korisnik) request.getSession().getAttribute("menadzer");
ArrayList<Rezervacija> sveRez = new ArrayList<Rezervacija>(rezervacijaDao.rezRestoran(men.getRestoran().getId()));
ArrayList<Rezervacija> vazeceRez = null;
try {
vazeceRez = new ArrayList<Rezervacija>((List<Rezervacija>)men.vazeceRez(sveRez));
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ArrayList<Rezervacija> rezStoIsti = new ArrayList<Rezervacija>();
//samo one rezervacije koje sadrze poslati sto
for(int i=0; i<vazeceRez.size(); i++)
{
if(vazeceRez.get(i).getStoRez().getId().equals(sifraStola))
{
rezStoIsti.add(vazeceRez.get(i));
}
}
request.getSession().setAttribute("nema", false);
if(rezStoIsti.size() == 0)
{
request.getSession().setAttribute("nema", true);
}
else
{
request.getSession().setAttribute("jednaRez", rezStoIsti.get(0));
request.getSession().setAttribute("rezeSto", rezStoIsti);
}
request.getRequestDispatcher("stoPrikaz.jsp").forward(request, response);
return;
【问题讨论】:
-
你确定你在 sessionAttribute 中放入了正确数字元素的列表
-
按照您对这样的 jstl 块进行注释的代码方式 这个块将被执行。这不是我们如何评论 jstl 表达式来评论它你应该这样做 , ${pri.gost.korisnikIme}   ${pri.gost.korisnikPrezime} , --%>
-
achabahe 是的,这就是问题所在。谢谢。 :)