2012-11-22 65 views
2

我想从Servlet接收ArrayList到JSP页面。从servlet接收ArrayList到jsp页面

这里就是我在做的Servlet

存储在数组列表中schoolarraylist

request.setAttribute("Arraylist", schoolarraylist); 

在JSP(CreateStudent)我试图访问数组列表

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

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

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

这是代码i中的标签之间的写

<%for (SchoolBean c : get) {%> 

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

回答

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>