2012-11-22 108 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> 
相關問題