如何在jsp页面中访问我在servlet类中声明的自定义对象

时间:2013-03-02 11:58:48

标签: java jsp servlets

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

这就是我的尝试

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

3 个答案:

答案 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" >