私は1か月間JSPとサーブレットを初めて使用しますが、まだ不明な点がたくさんあります.. JSP内には、ドロップダウンリストがあり(内部の値はデータベースから取得されます)、数値で動的に作成されますたとえば、ユーザー キーが 3 の場合、この数字はセッションに保存され、3 ドロップダウン リストが生成されます。
これはできますが、サーブレットの 3 つのドロップダウン リストすべての値を取得できません。3 つの diff 値を取得する代わりに、出力は最初のドロップダウンリストの値を繰り返します。例 「ジョン、ケン、アンディ」の代わりに「ジョン、ジョン、ジョン」。
JSP コード:
<form action="Adding" method="post">
<%
session = request.getSession();
ProjectGroup projGrp1 = (ProjectGroup)session.getAttribute("PROJECTNAME");
//getMaxMember is the int that user keyed in
int staff =projGrp1.getMaxMember();
for(int i = 0; i < staff; i++) {
%>
<select name="list1" >
<%@page import="sit.bean.*,sit.data.*"%>
<%
GroupTaskManager mgr3 = new GroupTaskManager();
GroupTask[] at3 = mgr3.getCheckBox();
for(int g = 0; g < at3.length; g++) {
%>
<option><%=at3[g].getStaffName()%></option>
<%
}
%>
</select>
<%
}
%>
<input type="submit" name="submit">
</form>
サーブレット内:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
ProjectGroup projGrp = (ProjectGroup)session.getAttribute("PROJECTNAME");
int member = projGrp.getMaxMember();
String total = null;
for(int i=0; i< member; i++)
{
String names = request.getParameter("list1");
total += names + " , ";
}
PrintWriter pw = response.getWriter();
pw.write("<HTML><BODY>");
pw.write(total);
pw.write("</HTML></BODY>");
pw.close();
}
「list<%i%>」のようなダウンダウンリスト名を設定して、各ダウンダウンリストに異なる ID を設定できますか? したがって、それぞれを個別に取得できますか???