前提・実現したいこと
現在、JAVAで<c:forEach>でJSPに書きだしたテーブルから値をサーブレットに参照しようとしているのですが、一番最後に上書きしたものと思われるものしか表示できません。どうにか、それぞれから値を受け渡したいのですが、どうすればよいでしょうか?
例を挙げると検索を行うとこのように一覧が表示されます。
この時、佐藤雄介さんのデータを更新したいと、そちら側の更新ボタンを押すと……
]
このように雄介さんではなく太郎さんのデータが出てきてしまうのです。
少し見にくいですがよろしくお願いします。
該当のソースコード
JAVA
1 2//値の取得 3 int member_id = Integer.parseInt(req.getParameter("member_id")); 4 String member_name = req.getParameter("member_name"); 5 String member_address = req.getParameter("member_address"); 6 String member_tel = req.getParameter("member_tel"); 7 String member_email = req.getParameter("member_email"); 8 String member_birthday = req.getParameter("member_birthday"); 9 10 MemberBean bean = new MemberBean(member_id,member_name,member_address,member_tel,member_email,member_birthday); 11 12 13 if(req.getParameter("update") != null){ //更新するを押した場合の処理 14 //リクエストスコープに必要な値を入れる。 15 req.setAttribute("members", bean); 16 17 //リクエストをmemberUpdate.jspに転送する。 18 RequestDispatcher rd = req.getRequestDispatcher("/memberUpdate.jsp"); 19 rd.forward(req, res); 20 } 21 22 if(req.getParameter("delete") != null){ //削除するを押した場合の処理 23 //リクエストスコープに必要な値を入れる。 24 req.setAttribute("members", bean); 25 26 //リクエストをmemberDelete.jspに転送する。 27 RequestDispatcher rd = req.getRequestDispatcher("/memberDelete.jsp"); 28 rd.forward(req, res); 29 } 30 }
JAVA
1<form action="/STP/MemberResultServlet" method="post"> 2<table border="1" style="border-collapse: collapse"> 3<tr><th>会員ID</th><th>氏名</th><th>住所</th><th>TEL</th><th>E-Mail</th><th>生年月日</th><th></th></tr> 4<c:forEach items="${members}" var="member"> 5<tr><td><input type="hidden" name="member_id" value="${member.member_id}">${member.member_id}</td> 6<td><input type="hidden" name="member_name" value="${member.member_name}">${member.member_name}</td> 7<td><input type="hidden" name="member_address" value="${member.member_address}">${member.member_address}</td> 8<td><input type="hidden" name="member_tel" value="${member.member_tel}">${member.member_tel}</td> 9<td><input type="hidden" name="member_email" value="${member.member_email}">${member.member_email}</td> 10<td><input type="hidden" name="member_birthday" value="${member.member_birthday}">${member.member_birthday}</td> 11<td><input type="submit" name="update" value="更新"><input type="submit" name="delete" value="削除"></td></tr> 12</c:forEach> 13</table> 14</form>
java
1public class MemberBean implements Serializable { 2 private int member_id; 3 private String member_name; 4 private String member_address; 5 private String member_tel; 6 private String member_email; 7 private String member_birthday; 8 private String member_enter; 9 private String member_exit; 10 11 public MemberBean(int member_id, String member_name, String member_address, String member_tel, String member_email, String member_birthday, String member_enter, String member_exit){ 12 this.member_id = member_id; 13 this.member_name = member_name; 14 this.member_address = member_address; 15 this.member_tel = member_tel; 16 this.member_email = member_email; 17 this.member_birthday = member_birthday; 18 this.member_enter = member_enter; 19 this.member_exit = member_exit; 20 } 21 22 public MemberBean(int member_id, String member_name, String member_address, String member_tel, String member_email, String member_birthday){ 23 this.member_id = member_id; 24 this.member_name = member_name; 25 this.member_address = member_address; 26 this.member_tel = member_tel; 27 this.member_email = member_email; 28 this.member_birthday = member_birthday; 29 } 30 31 public MemberBean(){ 32 33 } 34以下getとset
回答1件
あなたの回答
tips
プレビュー