teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2019/07/18 07:00

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -103,7 +103,7 @@
103
103
 
104
104
  例:
105
105
  ```jsp
106
- <input type="button" value="更新" onclick="location:href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
106
+ <input type="button" value="更新" onclick="location.href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
107
107
 
108
108
 
109
109
  または
@@ -112,7 +112,7 @@
112
112
  ※selectUpと決めつけてますが、きちんと自身が決めたサーブレットのURLを入れてくださいね。
113
113
 
114
114
  > ③レコードのIDをURLを使って送る際、
115
- onclick="location:href='./selectUp.java"?id= + id +"'"
115
+ onclick="location.href='./selectUp.java"?id= + id +"'"
116
116
  と表記するつもりなのですが合ってますでしょうか?
117
117
 
118
118
  間違っているので前項の最後に例で示しました。

2

修正

2019/07/18 07:00

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -140,4 +140,11 @@
140
140
  from mutter where id = ? -- ?には一覧画面から渡された値を取得する
141
141
  ```
142
142
 
143
- 「GETパラメータ」または「クエリストリング」が「一覧画面から渡された値を取得する」際のキーワードです。
143
+ 「GETパラメータ」または「クエリストリング」が「一覧画面から渡された値を取得する」際のキーワードです。
144
+
145
+
146
+ # 蛇足
147
+
148
+ リクエストとレスポンスについて基本をおさえておきましょう。
149
+ でないと多分、全く進みません。
150
+ - [HTTPリクエスト/レスポンスの構成要素を初心者にも分かるように解説してみた](https://qiita.com/koheiyamaguchi0203/items/5777c4653a01ae4c7b06)

1

修正

2019/07/17 09:11

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,4 +1,5 @@
1
+ > ①formにoptionを使った性別を設定できるものを用意していますが
1
- > 値(1,2,3)は取得できているのですが一覧表示にすると名前(男性,女性)ではなくそのまま値を表示してしまいます。名前を表示する方法はありますでしょうか?
2
+ 値(1,2,3)は取得できているのですが一覧表示にすると名前(男性,女性)ではなくそのまま値を表示してしまいます。名前を表示する方法はありますでしょうか?
2
3
 
3
4
  別テーブルにマスタデータを持ってJOINするか、性別くらいなら固定でしても良いと思います。
4
5
 
@@ -84,4 +85,59 @@
84
85
  いずれの方法でも実現は可能ですが、
85
86
  「マスタデータを持っておく」考え方を覚えれば色んな形で応用できますので、
86
87
  練習がてらこちらを覚えたほうが良いかもしれません。
87
- (性別や都道府県ってほぼ変わらないものですので、通常は固定です)
88
+ (性別や都道府県ってほぼ変わらないものですので、通常は固定です)
89
+
90
+ > ②入力ができるformに入力した内容を送信するsubmitがあります。
91
+ 一覧を表示しているテーブルのそれぞれのレコードに変更と削除という、レコードの値を持って画面へ遷移するsubmitを用意しているのですが、リンクとして機能しません。
92
+ form内では1つの遷移先しか持つことができない(javaのみでは)ようなのですが
93
+ テーブルでも同じなのでしょうか?
94
+
95
+ 同じです。そもそも機能しないのはformで囲ってないからです。
96
+
97
+ ただ[別の質問](https://teratail.com/questions/199926)でも書いたように`selectUp.java`のようにアクセスはできません。
98
+ サーブレットなので{プロジェクト名}{WebServletの指定}のURLである必要があります。
99
+ selectUpにマッピングしたURLでアクセスしてください。
100
+ URLの取り方はformのactionと同じです。
101
+
102
+ あと「削除」がどういう処理をするつもりなのか分かりませんが、少なくとも「更新」については「更新画面に遷移してその先で修正する」ので、submitのように処理を期待するものではなく、あくまでtype=buttonかaタグにして「画面遷移」の形をとってください。
103
+
104
+ 例:
105
+ ```jsp
106
+ <input type="button" value="更新" onclick="location:href='<%=request.getContextPath()%>/selectUp?id=${mutterList.id}'">
107
+
108
+
109
+ または
110
+ <a href="<%=request.getContextPath()%>/selectUp?id=${mutterList.id}">更新</a>
111
+ ```
112
+ ※selectUpと決めつけてますが、きちんと自身が決めたサーブレットのURLを入れてくださいね。
113
+
114
+ > ③レコードのIDをURLを使って送る際、
115
+ onclick="location:href='./selectUp.java"?id= + id +"'"
116
+ と表記するつもりなのですが合ってますでしょうか?
117
+
118
+ 間違っているので前項の最後に例で示しました。
119
+
120
+
121
+ > ④この画面の次画面でUpdateしたい内容をformに入力して頂く際に初期値として選択したレコードをformに入力しますが、formの欄の下にはこの画面と同様に一覧を表示しておりますので2種類のselect文を実行することになるのですが、この場合2種類のデータを別のArrayListに保管し表示することは可能なのでしょうか?
122
+ それとも指定したレコードの詳細を取得し表示することが出来るのでしょうか?
123
+
124
+ 1つ1つ突っ込んでいくと
125
+ > formの欄の下にはこの画面と同様に一覧を表示しておりますので2種類のselect文を実行することになるのですが、
126
+
127
+ なりません。一覧画面は一覧画面でSELECTし、更新画面は更新画面でSELECTします。
128
+
129
+ > この場合2種類のデータを別のArrayListに保管し表示することは可能なのでしょうか?
130
+
131
+ 可能ですが、保管したところでそれぞれSELECTを実行するのでほとんど意味はないと思います。
132
+
133
+ > それとも指定したレコードの詳細を取得し表示することが出来るのでしょうか?
134
+
135
+ [前回の質問の回答](https://teratail.com/questions/200830#reply-297134)のコメントに書いた通り、where句を使います。
136
+
137
+ ```SQL
138
+ select
139
+ *
140
+ from mutter where id = ? -- ?には一覧画面から渡された値を取得する
141
+ ```
142
+
143
+ 「GETパラメータ」または「クエリストリング」が「一覧画面から渡された値を取得する」際のキーワードです。