从servlet接收ArrayList到jsp页面

时间:2012-11-22 20:27:49

标签: java model-view-controller jsp servlets

我希望从Servlet接收ArrayList到JSP页面。

以下是我在Servlet中所做的事情

在schoolarraylist中存储了arraylist

request.setAttribute("Arraylist", schoolarraylist);

在JSP(CreateStudent)中,我试图访问arraylist

<%ArrayList<SchoolBean> get= ( ArrayList<SchoolBean> )         

<%request.getAttribute("schoolarraylist"); %>

我想要做的是将数据库中的学校列表加载到下拉框中,以便在此JSP中创建学生时显示。

这是我在标签

之间写的代码
<%for (SchoolBean c : get) {%>

<option value="<%=c.getSchoolname()%>"> <%=c.getSchoolname()%>
</option>
<%} %>

1 个答案:

答案 0 :(得分:4)

setAttribute(java.lang.String name, java.lang.Object o)在请求中存储名为name的对象。所以你要存储一个名为“Arraylist”的对象。

getAttribute(java.lang.String name)从请求中检索名为name的对象。所以你试图检索一个名为“schoolarraylist”的对象。

因此,更改您的代码,该代码设置的属性与您用于检索它的名称相同,例如:

request.setAttribute("schoolarraylist", schoolarraylist);

你所谓的属性并不重要,但在设置和获取它时使用的名称是一致的。

顺便说一句,您应该考虑使用标记库,例如JSLT。例如,如果您已将列表作为名为“schoolarraylist”的属性存储在请求中,则可以执行以下操作:

<c:forEach var="school" items="${schoolarraylist}">
    <option value="<c:out value='${school.schoolname}'/>"> <c:out value='${school.schoolname}'/>
    </option>
</c:forEach>