質問編集履歴

2

説明がわかりにくかったのでわかりやすく記載しなおしました。

2020/05/25 14:22

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 情報の引き継ぎ方法について
1
+ jspからサーブレットへパラメータの引き渡しをループで行う
test CHANGED
@@ -1,34 +1,22 @@
1
1
  ### 前提・実現したいこと
2
+
3
+ 情報が伝わりにくいと思い
4
+
5
+ 再度質問編集させていただきます。
2
6
 
3
7
 
4
8
 
5
- 初投稿です。
6
-
7
- DBに接続 → DB内の情報を検索(条件を入力) → 検索条件に該当する情報を全て表示 → 
8
-
9
- 示された情報横に設置されボタンを押下 → 次画面(jsp)に遷移(検索結果情報を引きいでいる)
9
+ ループで現しようとし、引き渡すパラメータnameもループしているめ、ループ最初の値のみ引き渡してるような状態だったの、下記のように修正しましたがうまく処理できませんでした。
10
10
 
11
11
 
12
12
 
13
- 上記のシステムを作成するために作業を行っているのですが
14
-
15
- 複数の検索結果が表示された場合、3番目に表示された結果の情報をもって
16
-
17
- 次画面に遷移しようとした際に、一番最初に表示された情報を抜き取ってしまい
18
-
19
- まく処理できません。どの箇所を修正すればいでしょうか?
13
+ 下記要望のよ処理するにはどの箇所を修正すればいでしょうか?
20
14
 
21
15
 
22
16
 
23
- 画面の遷移は
24
-
25
- 検索結果(jsp)→controller(サーブレット)→次画面(jsp)
26
-
27
- 上記のように行っています。
28
17
 
29
18
 
30
-
31
- したいこと
19
+ 要望
32
20
 
33
21
 
34
22
 
@@ -48,9 +36,7 @@
48
36
 
49
37
 
50
38
 
51
- ①のボタンを押せば①の番号、名前の情報をもって、②のボタンをボタンを押すと②の情報をもってontroller(サーブレット)にpost
39
+ ①のボタンを押せば①の番号、名前の情報をもって、②のボタンをボタンを押すと②の情報をもってontroller(サーブレット)にpostできる。
52
-
53
- controllerから次画面に検索結果の情報をもってフォワードする。
54
40
 
55
41
 
56
42
 
@@ -62,69 +48,59 @@
62
48
 
63
49
 
64
50
 
65
- ```jsp(検索結果表示画面)
51
+ ```パラメーターを渡すjsp
66
52
 
67
- <% if(request.getParameter("SelectResult")!=null){%>
53
+ <%int loopcount = 0;%>
68
54
 
69
- <form action="Controller" method="post" name="Controller" onSubmit="return ReadOnly()">
70
-
71
- <table border="1">
72
-
73
- <tr>
74
-
75
- <td > </td>
76
-
77
- <td >法人コード</td>
78
-
79
- <td >社員番号</td>
80
-
81
- <td >名前(姓)</td>
82
-
83
- <td >名前(名)</td>
84
-
85
- </tr>
86
-
87
- <%for(int i = 0; i < a.getResultUsers().size(); i++){%>
55
+ <%for(int i=0; i < a.getResultUsers().size(); i++){%>
88
56
 
89
57
  <tr>
90
58
 
91
- <td><input type="submit" name="Update" value="変更" onclick="return ReadOnly()"></td>
59
+ <td><input type="submit" name="Update<%=loopcount%>" value="変更" onclick="return ReadOnly()"> <input type="submit" name="Delete" value="削除"></td>
92
60
 
93
- <td><input type="text" name="SearchResultCopcod" readOnly value=<%= a.getResultUsers().get(i).getCopcod()%> size="5"></td>
61
+ <td><input type="text" name="SearchResultCopcod<%=loopcount%>" readOnly value=<%= a.getResultUsers().get(i).getCopcod()%> size="5"></td>
94
62
 
95
- <td><input type="text" name="SearchResultEmpnum" readOnly value=<%= a.getResultUsers().get(i).getEmpnum()%> size="5"></td>
63
+ <td><input type="text" name="SearchResultEmpnum<%=loopcount%>" readOnly value=<%= a.getResultUsers().get(i).getEmpnum()%> size="5"></td>
96
64
 
97
- <td><input type="text" name="SearchResultKnjnamsei" readOnly value=<%= a.getResultUsers().get(i).getKnjnamsei()%> size="5"></td>
65
+ <td><input type="text" name="SearchResultKnjnamsei<%=loopcount%>" readOnly value=<%= a.getResultUsers().get(i).getKnjnamsei()%> size="5"></td>
98
66
 
99
- <td><input type="text" name="SearchResultKnjnammei" readOnly value=<%= a.getResultUsers().get(i).getKnjnammei()%> size="5"></td>
67
+ <td><input type="text" name="SearchResultKnjnammei<%=loopcount%>" readOnly value=<%= a.getResultUsers().get(i).getKnjnammei()%> size="5"></td>
100
68
 
101
- </tr>
69
+ <%loopcount++; %>
102
70
 
71
+ </tr>
103
72
 
73
+ <%}%>
74
+
75
+ </table>
76
+
77
+ <input type="hidden" value="<%=loopcount%>" name="UserListCount">
78
+
79
+ </form>
104
80
 
105
81
  <%}%>
106
-
107
- ```
108
-
109
-
110
82
 
111
83
  ### 該当のソースコード
112
84
 
113
85
 
114
86
 
115
- ```controller(サーブレット
87
+ ```パラメータをうけとるサーブレット
116
88
 
117
- String SearchResultCopcod =request.getParameter("SearchResultCopcod");
89
+
118
90
 
119
- String SearchResultEmpnum =request.getParameter("SearchResultEmpnum");
91
+ for(int i = 0;i == (int)Integer.parseInt(request.getParameter("UserListCount"));i++){
120
92
 
121
- String SearchResultKnjnamsei =request.getParameter("SearchResultKnjnamsei");
93
+ if(i == (int)Integer.parseInt(request.getParameter("UserListCount"))) {
122
94
 
95
+ String SearchResultCopcod =request.getParameter("SearchResultCopcod"+i);
96
+
97
+ String SearchResultEmpnum =request.getParameter("SearchResultEmpnum"+i);
98
+
99
+ String SearchResultKnjnamsei =request.getParameter("SearchResultKnjnamsei"+i);
100
+
123
- String SearchResultKnjnammei =request.getParameter("SearchResultKnjnammei");
101
+ String SearchResultKnjnammei =request.getParameter("SearchResultKnjnammei"+i);
124
102
 
125
103
 
126
-
127
- if(request.getParameter("Update")!=null){
128
104
 
129
105
  User s = new User();
130
106
 
@@ -132,23 +108,23 @@
132
108
 
133
109
  request.setAttribute("s",s);
134
110
 
111
+ System.out.println(SearchResultCopcod);
112
+
135
113
  String disp = "WEB-INF/Update.jsp";
136
114
 
137
115
  RequestDispatcher dispatch = request.getRequestDispatcher(disp);
138
116
 
139
117
  dispatch.forward(request, response);
140
118
 
119
+ }
141
120
 
142
-
143
-
144
-
145
- ```
121
+ }```
146
122
 
147
123
  ### 該当のソースコード
148
124
 
149
125
 
150
126
 
151
- ```User(Java)
127
+ ```Userのインスタンス(Java)※あまり関係ないかもしれないです
152
128
 
153
129
  private String SearchResultCopcod;
154
130
 
@@ -183,37 +159,3 @@
183
159
  }
184
160
 
185
161
  ```
186
-
187
-
188
-
189
- ### 該当のソースコード
190
-
191
-
192
-
193
- ```次画面(jsp)
194
-
195
- <%@page import="MVC.User" %>
196
-
197
- <%User s = (User) request.getAttribute("s");%>
198
-
199
-
200
-
201
- <p>法人コード</p>
202
-
203
- <p><input type ="text" name="newCopcod" id="text" readOnly value=<%=s.getSearchResultCopcod()%>></p>
204
-
205
- <p>社員番号</p>
206
-
207
- <p><input type ="text" name="newEmpnum" id="text" readOnly value=<%=s.getSearchResultEmpnum()%>></p>
208
-
209
- <p>漢字(姓)</p>
210
-
211
- <p><input type ="text" name="newKnjnamsei" id="text" readOnly value=<%=s.getSearchResultKnjnamsei()%>></p>
212
-
213
- <p>漢字(名)</p>
214
-
215
- <p><input type ="text" name="newKnjnammei" id="text" readOnly value=<%=s.getSearchResultKnjnammei()%>></p>
216
-
217
- <input type="submit" name ="UpdateResult" value="更新">
218
-
219
- ```

1

したいことを追加しました。

2020/05/25 14:22

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  上記のシステムを作成するために作業を行っているのですが
14
14
 
15
- 複数の情報が表示された場合、3番目に表示された結果の情報をもって
15
+ 複数の検索結果が表示された場合、3番目に表示された結果の情報をもって
16
16
 
17
17
  次画面に遷移しようとした際に、一番最初に表示された情報を抜き取ってしまい
18
18
 
@@ -28,6 +28,32 @@
28
28
 
29
29
 
30
30
 
31
+ したいこと
32
+
33
+
34
+
35
+ イメージ図
36
+
37
+ 検索結果
38
+
39
+ ①ボタン 番号 名前
40
+
41
+
42
+
43
+ ②ボタン 番号 名前 
44
+
45
+
46
+
47
+ ③ボタン 番号 名前 
48
+
49
+
50
+
51
+ ①のボタンを押せば①の番号、名前の情報をもって、②のボタンをボタンを押すと②の情報をもってontroller(サーブレット)にpostし
52
+
53
+ controllerから次画面に検索結果の情報をもってフォワードする。
54
+
55
+
56
+
31
57
 
32
58
 
33
59