我正在为会话设置一个属性:
HttpSession session = request.getSession();
System.out.println(al);
session.setAttribute("arraylist",al);
al是Employee
对象的列表。我也可以看到System.out正在控制台中打印。
但是当我试图从jsp获取列表时:
<%
List<Employee> employees = (List<Employee>)session.getAttribute( "arraylist" );
for(int i=0;i<employees.size();i++){
Employee emp = employees.get(i);
out.println(emp.getFirstName());
out.println(emp.getLastName());
out.println(emp.getAddress());
out.println(emp.getContact());
out.println(emp.getEmail());
}
%>
我收到错误:
Attribute value (ArrayList<Employee>)session.getAttribute("arraylist") is quoted with " which must be escaped when used within the value
我正在使用Tomcat 6.0.33。任何信息都会非常有用。
感谢。
答案 0 :(得分:5)
也许
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
帮助。检查更严格的引用规则。
答案 1 :(得分:3)
使用JSTL forEach
迭代集合。
<c:forEach var="emp" items="${arraylist}">
<c:out value="{emp.firstName}"/>
</c:forEach>