質問編集履歴
3
質問に対する追記/dao/servlet
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
初学者です。よろしくお願いいたします。
|
2
2
|
|
3
3
|
jsp画面で一覧表示したListから、form post送信でデータを選択したものを dao sqlで抽出したいのですが、サーブレットで取得したidパラメータが0になってしまい、抽出表示画面ではデータがnullとなります。
|
4
|
+
|
5
|
+
---
|
6
|
+
質問に対する追記・変更
|
7
|
+
|
8
|
+
変更:一覧表示jsp form のname="id"と訂正し、servletでidをInteger.parseIntに戻しました。
|
9
|
+
|
10
|
+
id=5と数字が入るようになりました。ご指摘ありがとうございました。
|
11
|
+
|
12
|
+
次に、以下のような警告が出ました。
|
13
|
+
```ここに言語を入力
|
14
|
+
org.postgresql.util.PSQLException: 適切な位置にいない ResultSetです。おそらく、nextを呼ぶ必要があります。
|
15
|
+
```
|
16
|
+
変更:エラーメッセージが rs.next();の行を示していたので、if(rs.next()){ }と書き換えました。
|
17
|
+
|
18
|
+
警告は消えましたが、抽出したいデータ cName,address,tel_numberはnullのままです。
|
19
|
+
|
20
|
+
基礎が甘く、多方面で調べたコードを参考にしており、統一性がなく読みづらいコードで申し訳ありません。
|
21
|
+
|
22
|
+
|
4
23
|
|
5
24
|
---
|
6
25
|
|
@@ -19,7 +38,7 @@
|
|
19
38
|
---
|
20
39
|
<%for(Customer cs : customerList){ %>
|
21
40
|
<form action="/Sukkiri/ShowServlet" method="post">
|
22
|
-
<td><input type="submit" name="
|
41
|
+
<td><input type="submit" **name=" id"** value="<%=cs.getId()%>"></td>
|
23
42
|
</form>
|
24
43
|
--
|
25
44
|
```
|
@@ -46,14 +65,14 @@
|
|
46
65
|
//SELECT文を実行
|
47
66
|
ResultSet rs=pStmt.executeQuery();
|
48
67
|
//SELECT文の結果をcustomerに格納
|
49
|
-
rs.next();
|
68
|
+
**if(rs.next());{**
|
50
69
|
int id=myId;
|
51
70
|
String cName=rs.getString("cName");
|
52
71
|
String address=rs.getString("address");
|
53
72
|
String tel_number=rs.getString("tel_number");
|
54
73
|
|
55
74
|
customer = new Customer(id,cName,address,tel_number);
|
56
|
-
|
75
|
+
**}**
|
57
76
|
|
58
77
|
}catch(SQLException e){
|
59
78
|
e.printStackTrace();
|
@@ -75,15 +94,15 @@
|
|
75
94
|
UpdateDao dao = new UpdateDao();
|
76
95
|
Customer oneCustomer =dao.select_customer(id);
|
77
96
|
|
78
|
-
|
97
|
+
**id=Integer.parseInt(request.getParameter("id"));**
|
79
|
-
|
98
|
+
|
80
99
|
|
81
100
|
String cName =request.getParameter("cName");
|
82
101
|
String address=request.getParameter("address");
|
83
102
|
String tel_number=request.getParameter("tel_number");
|
84
|
-
|
85
|
-
|
103
|
+
|
86
|
-
|
104
|
+
System.out.println(id+cName+address+tel_number);
|
105
|
+
** //ここで出力結果が(5 null null null)になります。**
|
87
106
|
|
88
107
|
request.setAttribute("oneCustomer", oneCustomer);
|
89
108
|
|
2
dao コメント文訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
pStmt.setInt(1, myId);
|
46
46
|
//SELECT文を実行
|
47
47
|
ResultSet rs=pStmt.executeQuery();
|
48
|
-
//SELECT文の結果を
|
48
|
+
//SELECT文の結果をcustomerに格納
|
49
49
|
rs.next();
|
50
50
|
int id=myId;
|
51
51
|
String cName=rs.getString("cName");
|
1
追記:model
test
CHANGED
File without changes
|
test
CHANGED
@@ -167,5 +167,48 @@
|
|
167
167
|
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
|
168
168
|
注意 原因のすべてのスタックトレースは、サーバのログに記録されています
|
169
169
|
```
|
170
|
-
|
170
|
+
model
|
171
|
-
|
171
|
+
```ここに言語を入力
|
172
|
+
package model;
|
173
|
+
|
174
|
+
public class Customer {
|
175
|
+
private int id;
|
176
|
+
private String cName;
|
177
|
+
private String address;
|
178
|
+
private String tel_number;
|
179
|
+
|
180
|
+
public Customer() {}
|
181
|
+
|
182
|
+
public Customer(String cName,String address,String tel_number) {
|
183
|
+
|
184
|
+
this.cName=cName;
|
185
|
+
this.address=address;
|
186
|
+
this.tel_number=tel_number;}
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
public Customer(int id,String cName,String address,String tel_number) {
|
191
|
+
this.id=id;
|
192
|
+
this.cName=cName;
|
193
|
+
this.address=address;
|
194
|
+
this.tel_number=tel_number;
|
195
|
+
|
196
|
+
}
|
197
|
+
|
198
|
+
public int getId() {return id;}
|
199
|
+
public void setId(int id) {this.id =id;}
|
200
|
+
|
201
|
+
public String getCname() {return cName;}
|
202
|
+
public void setCname(String cName) {this.cName = cName;}
|
203
|
+
|
204
|
+
public String getAddress() {return address;}
|
205
|
+
public void setAddress(String address) {this.address = address;}
|
206
|
+
|
207
|
+
public String getTel_number() {return tel_number;}
|
208
|
+
public void setTel_number(String tel_number) {this.tel_number = tel_number;}
|
209
|
+
|
210
|
+
}
|
211
|
+
|
212
|
+
```
|
213
|
+
|
214
|
+
|