回答編集履歴

3

修正

2019/07/18 07:00

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -208,7 +208,7 @@
208
208
 
209
209
  ```jsp
210
210
 
211
- <input type="button" value="更新" onclick="location:href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
211
+ <input type="button" value="更新" onclick="location.href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
212
212
 
213
213
 
214
214
 
@@ -226,7 +226,7 @@
226
226
 
227
227
  > ③レコードのIDをURLを使って送る際、
228
228
 
229
- onclick="location:href='./selectUp.java"?id= + id +"'"
229
+ onclick="location.href='./selectUp.java"?id= + id +"'"
230
230
 
231
231
  と表記するつもりなのですが合ってますでしょうか?
232
232
 

2

修正

2019/07/18 07:00

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -283,3 +283,17 @@
283
283
 
284
284
 
285
285
  「GETパラメータ」または「クエリストリング」が「一覧画面から渡された値を取得する」際のキーワードです。
286
+
287
+
288
+
289
+
290
+
291
+ # 蛇足
292
+
293
+
294
+
295
+ リクエストとレスポンスについて基本をおさえておきましょう。
296
+
297
+ でないと多分、全く進みません。
298
+
299
+ - [HTTPリクエスト/レスポンスの構成要素を初心者にも分かるように解説してみた](https://qiita.com/koheiyamaguchi0203/items/5777c4653a01ae4c7b06)

1

修正

2019/07/17 09:11

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -1,4 +1,6 @@
1
+ > ①formにoptionを使った性別を設定できるものを用意していますが
2
+
1
- > 値(1,2,3)は取得できているのですが一覧表示にすると名前(男性,女性)ではなくそのまま値を表示してしまいます。名前を表示する方法はありますでしょうか?
3
+ 値(1,2,3)は取得できているのですが一覧表示にすると名前(男性,女性)ではなくそのまま値を表示してしまいます。名前を表示する方法はありますでしょうか?
2
4
 
3
5
 
4
6
 
@@ -171,3 +173,113 @@
171
173
  練習がてらこちらを覚えたほうが良いかもしれません。
172
174
 
173
175
  (性別や都道府県ってほぼ変わらないものですので、通常は固定です)
176
+
177
+
178
+
179
+ > ②入力ができるformに入力した内容を送信するsubmitがあります。
180
+
181
+ 一覧を表示しているテーブルのそれぞれのレコードに変更と削除という、レコードの値を持って画面へ遷移するsubmitを用意しているのですが、リンクとして機能しません。
182
+
183
+ form内では1つの遷移先しか持つことができない(javaのみでは)ようなのですが
184
+
185
+ テーブルでも同じなのでしょうか?
186
+
187
+
188
+
189
+ 同じです。そもそも機能しないのはformで囲ってないからです。
190
+
191
+
192
+
193
+ ただ[別の質問](https://teratail.com/questions/199926)でも書いたように`selectUp.java`のようにアクセスはできません。
194
+
195
+ サーブレットなので{プロジェクト名}{WebServletの指定}のURLである必要があります。
196
+
197
+ selectUpにマッピングしたURLでアクセスしてください。
198
+
199
+ URLの取り方はformのactionと同じです。
200
+
201
+
202
+
203
+ あと「削除」がどういう処理をするつもりなのか分かりませんが、少なくとも「更新」については「更新画面に遷移してその先で修正する」ので、submitのように処理を期待するものではなく、あくまでtype=buttonかaタグにして「画面遷移」の形をとってください。
204
+
205
+
206
+
207
+ 例:
208
+
209
+ ```jsp
210
+
211
+ <input type="button" value="更新" onclick="location:href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
212
+
213
+
214
+
215
+
216
+
217
+ または
218
+
219
+ <a href="<%=request.getContextPath()%>/selectUp?id=${mutterList.id}">更新</a>
220
+
221
+ ```
222
+
223
+ ※selectUpと決めつけてますが、きちんと自身が決めたサーブレットのURLを入れてくださいね。
224
+
225
+
226
+
227
+ > ③レコードのIDをURLを使って送る際、
228
+
229
+ onclick="location:href='./selectUp.java"?id= + id +"'"
230
+
231
+ と表記するつもりなのですが合ってますでしょうか?
232
+
233
+
234
+
235
+ 間違っているので前項の最後に例で示しました。
236
+
237
+
238
+
239
+
240
+
241
+ > ④この画面の次画面でUpdateしたい内容をformに入力して頂く際に初期値として選択したレコードをformに入力しますが、formの欄の下にはこの画面と同様に一覧を表示しておりますので2種類のselect文を実行することになるのですが、この場合2種類のデータを別のArrayListに保管し表示することは可能なのでしょうか?
242
+
243
+ それとも指定したレコードの詳細を取得し表示することが出来るのでしょうか?
244
+
245
+
246
+
247
+ 1つ1つ突っ込んでいくと
248
+
249
+ > formの欄の下にはこの画面と同様に一覧を表示しておりますので2種類のselect文を実行することになるのですが、
250
+
251
+
252
+
253
+ なりません。一覧画面は一覧画面でSELECTし、更新画面は更新画面でSELECTします。
254
+
255
+
256
+
257
+ > この場合2種類のデータを別のArrayListに保管し表示することは可能なのでしょうか?
258
+
259
+
260
+
261
+ 可能ですが、保管したところでそれぞれSELECTを実行するのでほとんど意味はないと思います。
262
+
263
+
264
+
265
+ > それとも指定したレコードの詳細を取得し表示することが出来るのでしょうか?
266
+
267
+
268
+
269
+ [前回の質問の回答](https://teratail.com/questions/200830#reply-297134)のコメントに書いた通り、where句を使います。
270
+
271
+
272
+
273
+ ```SQL
274
+
275
+ select
276
+
277
+ *
278
+
279
+ from mutter where id = ? -- ?には一覧画面から渡された値を取得する
280
+
281
+ ```
282
+
283
+
284
+
285
+ 「GETパラメータ」または「クエリストリング」が「一覧画面から渡された値を取得する」際のキーワードです。