我在servlet类中有一个对象实例(Model有一个ArrayList),如何使用EL在“jsp”页面中访问它?
这就是我的尝试
<c:forEach var="module" items="${model}">
<option name="" value="">${module}</option>
</c:forEach>
答案 0 :(得分:2)
而是将数据放入会话中,以防它是每个视图数据,在servlet的方法中将其作为请求属性传递:
request.setAttribute("model", yourModelObject);
这种方式可以在jsp中访问:
${model.yourList}
您的迭代将成为:
<c:forEach var="module" items="${model.yourList}">
${module}
</c:forEach>
答案 1 :(得分:0)
我假设你想迭代你的arrayList? 你可以用c:forEach标签
来做到这一点 <c:forEach var="box" items="${**REFERENCE_TO_YOUR_VARIABLE**}"
varStatus="status">
</c:forEach>
答案 2 :(得分:0)
如果要使用RequestDispatcher.forward(请求,响应)从servlet调度,您可能希望将其添加为请求属性而不是会话属性,以防止对象的过时实例,并防止对象挂起周围时间超过需要。至于你问题的第二部分。 如果ArrayList是模型对象的变量,则在el中引用它的步骤如下:
${model.list}
因此,例如,如果对象存储为名为“model”的请求属性,并且对象具有getList()方法,则迭代该列表,执行:
<c:forEach items="${model.list}" var="listItem" >