我试图访问这样的内容:
我传递给JSP页面
the list through request.setAttribute("list", list);
并尝试访问
<c:foreach items="${list}" var="element"}>
<li> ${element.name} ${element.price} </li>
</c:foreach>
但是我得到了NumberFormatException。如何正确访问列表?
答案 0 :(得分:1)
如果只从表中选择几列,JPA将为返回的每一行返回一个对象数组。即它将返回List<Object[]>
个对象。如果要返回Route
个对象的列表,可以在Route
类中编写一个构造函数,该构造函数接受两个值(name和pric,并在构造函数中相应地设置值。然后,您可以使用像下面的JPA查询中的构造函数来获取Route对象:
select new yourpackage.Route(name, price) from Route
答案 1 :(得分:0)
您的JSTL有两个问题:
<c:foreach items="${list}" var="element"}>
...
</c:foreach>
c:forEach
而非c:foreach
。}
。应该是这样的:
<c:forEach items="${list}" var="element">
...
</c:forEach>
有两种选择。根据需要尝试任何一个。
Object[]
,请使用${element[0]}
Route
,请使用${element['name']}
或${element.name}
或${element.getName()}
。确保Route
类包含name
作为实例变量,包含getter&amp; setter方法。