0

我在 servlet 类中有一个对象实例(具有 ArrayList 的模型),我如何使用 EL 在“jsp”页面中访问它?

这就是我正在尝试的方式

<c:forEach var="module" items="${model}">
    <option name="" value="">${module}</option>
</c:forEach>
4

3 回答 3

2

而不是将数据放入会话中,如果它是按视图数据,请将其作为请求属性传递给 servlet 的方法:

request.setAttribute("model", yourModelObject);

这样它就可以在jsp中访问为:

${model.yourList}

您的迭代将变为:

<c:forEach var="module" items="${model.yourList}">
    ${module}
</c:forEach>
于 2013-03-02T12:10:00.743 回答
0

我假设您想遍历您的 arrayList ?你可以用 c:forEach 标签做到这一点

 <c:forEach var="box" items="${**REFERENCE_TO_YOUR_VARIABLE**}"
  varStatus="status">
 </c:forEach>
于 2013-03-02T12:10:26.307 回答
0

如果您使用 RequestDispatcher.forward(request, response) 从 servlet 进行调度,您可能希望将其添加为请求属性而不是会话属性,以防止对象的陈旧实例,并防止对象停留更长时间比需要的。至于你问题的第二部分。如果 ArrayList 是模型对象的变量,则在 el 中引用它的方式如下:

${model.list}

因此,例如,如果对象存储为名为“model”的请求属性,并且对象具有 getList() 方法,则要迭代该列表,请执行以下操作:

<c:forEach items="${model.list}" var="listItem" >
于 2013-03-02T12:14:02.780 回答