2

Servlet から JSP ページに ArrayList を受け取りたい。

これが私がサーブレットでやっていることです

配列リストをschoolarraylistに保存しました

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>
<%} %>
4

1 に答える 1

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>
于 2012-11-22T21:24:38.870 に答える