我无法使用表达式语言显示ArrayList的值。以下是我正在使用的代码片段 在Servlet中,我使用代码并将ArrayList放在会话
中 List list=new ArrayList();
list.add("10/3/2013");
list.add("sample.txt");
list.add("error at line 45");
HttpSession session=request.getSession();
session.setAttribute("list",list);
response.sendRedirect("diaplayDetails.jsp");
displayDetails.jsp中的包含以下代码
Error File Details Are :
${list[0]}
${list[1]}
${list[2]}
但我没有获得数组列表值。
请帮我解决这个问题。
由于
拉吉
答案 0 :(得分:0)
将JSP中的list
对象转换为“List”类
这背后的原因,在Session对象中我们存储Object
我们需要downcast来访问特定对象
答案 1 :(得分:0)
如果你使用JSTL试试这个:
<c:forEach items="${list}" var="elem">
<c:out value="${elem}" />
</c:forEach>
答案 2 :(得分:0)
你只是忘了在EL中提供范围。正确的语法应如下所示:
Error File Details Are:
${sessionScope.list[0]}
${sessionScope.list[1]}
${sessionScope.list[2]}
sessionScope是EL隐式对象之一。所有这些范围隐式对象都用于查找JSP需要搜索您的属性键的范围。在你的情况下,它是&#34; list&#34;。所以:sessionScope
- 在您的范围内设置您的属性list
- 您的属性的关键名称[0]
- 索引值属性中的索引。
请记住,仅使用范围来获取属性。对于参数,您应该使用pageContext
或param
隐式对象。