質問編集履歴
4
書式の改善
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
JSP 簡易注文システム 合計金額
|
1
|
+
JSP 簡易注文システム 合計金額の算出
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
JSPとJavaBeansを利用して簡易注文システムを作成しています。
|
3
|
+
大枠の部分は出来上がったのでここに合計金額を算出するコードを書き加えたいのですが、
|
3
|
-
|
4
|
+
どのように書けばいいのか分かりません。どなたかご教示いただけますと幸いです。
|
4
5
|
|
5
6
|
条件、仕組みは以下のようなものです。
|
6
7
|
|
3
書式の改善、自分で考えて分かった部分のコードを修正しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
JSP
|
1
|
+
JSP 簡易注文システム 合計金額を出したい
|
body
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
JSPとJavaBeansを利用して簡易注文システムを作成しています。
|
3
|
+
合計金額の算出の仕方が分かりません。どなたかご教示いただけますと幸いです。
|
4
|
+
|
3
5
|
条件、仕組みは以下のようなものです。
|
4
6
|
|
5
7
|
・サーブレットは使用せず、JSPとJavaBeansで構築する。
|
@@ -10,8 +12,7 @@
|
|
10
12
|
|
11
13
|
● 2ページ目
|
12
14
|
③「1ページ目から受取ったid」を実引数としてメソッドupdateDB()に渡す。
|
13
|
-
④メソッドupdateDB()の丸括弧内に仮引数を宣言し、idを受け取る。
|
15
|
+
④メソッドupdateDB()の丸括弧内に仮引数(tempid)を宣言し、idを受け取る。
|
14
|
-
↑自分はtempidと宣言しました。
|
15
16
|
⑤メソッドupdateDB()で、SQLのupdate文を実行し、注文数を「+1」する。
|
16
17
|
⑥2ページ目の最後に、<jsp:forward page="1ページ目のファイル名.jsp"/>を書き、1ページ目に戻る。
|
17
18
|
|
@@ -19,14 +20,6 @@
|
|
19
20
|
⑦最新の注文の支払い合計金額を表示する。
|
20
21
|
|
21
22
|
|
22
|
-
〈分からないこと〉
|
23
|
-
③「1ページ目から受取ったid」を実引数としてメソッドupdateDB()に渡す と
|
24
|
-
⑦最新の注文の支払い合計金額を表示する のやり方が分かりませんでした。
|
25
|
-
どなたかご教示いただけますとありがたいです。
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
23
|
### 該当のソースコード
|
31
24
|
|
32
25
|
```【driveBean.jsp】
|
@@ -41,30 +34,34 @@
|
|
41
34
|
<html><head><title>DBを読む</title></head>
|
42
35
|
<body>
|
43
36
|
<%
|
44
|
-
List<BeanAccessDB> list = obj.DBtoList();
|
37
|
+
List<BeanAccessDB> list = obj.DBtoList();
|
45
38
|
int sum = 0;
|
46
39
|
for(int i = 0; i < list.size(); i++){
|
47
40
|
obj = list.get(i);
|
48
|
-
|
41
|
+
%>
|
42
|
+
|
49
43
|
<a href="driveBean2.jsp?linkdata=<%= obj.getId() %>"> <%= obj.getId() %> </a>
|
50
44
|
<%= obj.getName() %>、
|
51
45
|
<%= obj.getPrice() %>
|
52
46
|
<img src="images/寿司の画像/<%= obj.getPhoto() %>" width="70" height="70" />
|
53
|
-
|
54
|
-
|
55
|
-
<%}%>
|
56
47
|
<%
|
57
48
|
out.print("合計:" + sum + "円");
|
58
49
|
%>
|
50
|
+
|
51
|
+
<%}%>
|
52
|
+
|
59
53
|
</body>
|
60
54
|
</html>
|
61
55
|
|
56
|
+
|
57
|
+
|
62
|
-
```
|
58
|
+
``````
|
63
59
|
```ここに言語を入力
|
64
60
|
【driveBean2.jsp】
|
65
61
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
66
62
|
pageEncoding="UTF-8"%>
|
67
63
|
<% request.setCharacterEncoding("UTF-8"); %>
|
64
|
+
<jsp:useBean id="obj" class="bean.BeanAccessDB" />
|
68
65
|
<!DOCTYPE html>
|
69
66
|
<html>
|
70
67
|
<head>
|
@@ -73,9 +70,9 @@
|
|
73
70
|
</head>
|
74
71
|
<body>
|
75
72
|
<% String linkdata = request.getParameter("linkdata");
|
73
|
+
obj.updateDB(linkdata);
|
76
74
|
%>
|
77
75
|
|
78
|
-
<jsp:forward page="driveBean.jsp".jsp/>
|
79
76
|
</body>
|
80
77
|
|
81
78
|
```
|
@@ -101,7 +98,7 @@
|
|
101
98
|
private int number;
|
102
99
|
|
103
100
|
public BeanAccessDB() {
|
104
|
-
}
|
101
|
+
}
|
105
102
|
|
106
103
|
public BeanAccessDB(String id, String name, int price, String photo, int number) {
|
107
104
|
this.id = id;
|
@@ -114,9 +111,10 @@
|
|
114
111
|
public String getId() {
|
115
112
|
return id;
|
116
113
|
}
|
114
|
+
|
117
115
|
public String getName() {
|
118
116
|
return name;
|
119
|
-
}
|
117
|
+
}
|
120
118
|
|
121
119
|
public int getPrice() {
|
122
120
|
return price;
|
@@ -130,29 +128,28 @@
|
|
130
128
|
return number;
|
131
129
|
}
|
132
130
|
|
133
|
-
public List<BeanAccessDB> DBtoList() {
|
131
|
+
public List<BeanAccessDB> DBtoList() {
|
134
|
-
List<BeanAccessDB> list = new ArrayList<BeanAccessDB>();
|
132
|
+
List<BeanAccessDB> list = new ArrayList<BeanAccessDB>();
|
135
133
|
Connection con = null;
|
136
134
|
PreparedStatement ps = null;
|
137
135
|
try {
|
138
136
|
Driver.class.getDeclaredConstructor().newInstance();
|
139
137
|
con = DriverManager.getConnection("jdbc:mariadb://localhost/studyDB", "root", "");
|
140
|
-
|
141
138
|
|
142
139
|
String sql = "select * from sushi; ";
|
143
|
-
ps = con.prepareStatement(sql.toString());
|
140
|
+
ps = con.prepareStatement(sql.toString());
|
144
|
-
|
145
|
-
ResultSet rs = ps.executeQuery();
|
146
141
|
|
142
|
+
ResultSet rs = ps.executeQuery();
|
143
|
+
|
147
|
-
while (rs.next()) {
|
144
|
+
while (rs.next()) {
|
148
145
|
String id = rs.getString("id");
|
149
146
|
System.out.println(id);
|
150
147
|
String name = rs.getString("name");
|
151
|
-
int price = rs.getInt("price");
|
148
|
+
int price = rs.getInt("price");
|
152
149
|
String photo = rs.getString("photo");
|
153
150
|
int number = rs.getInt("number");
|
154
151
|
list.add(new BeanAccessDB(id, name, price, photo, number));
|
155
|
-
|
152
|
+
|
156
153
|
}
|
157
154
|
} catch (Exception e) {
|
158
155
|
e.printStackTrace();
|
@@ -168,20 +165,20 @@
|
|
168
165
|
e.printStackTrace();
|
169
166
|
}
|
170
167
|
}
|
171
|
-
return list;
|
168
|
+
return list;
|
172
169
|
}
|
173
170
|
|
174
|
-
public
|
171
|
+
public void updateDB(String tempid) {
|
175
172
|
Connection con = null;
|
176
173
|
PreparedStatement ps = null;
|
177
174
|
try {
|
178
175
|
Driver.class.getDeclaredConstructor().newInstance();
|
179
176
|
con = DriverManager.getConnection("jdbc:mariadb://localhost/studyDB", "root", "");
|
180
177
|
|
181
|
-
|
178
|
+
String sql = "update sushi set number = number + 1 where id = ? ";
|
182
|
-
|
179
|
+
ps = con.prepareStatement(sql.toString());
|
183
|
-
|
180
|
+
ps.setString(1, tempid);
|
184
|
-
|
181
|
+
ps.executeUpdate();
|
185
182
|
|
186
183
|
} catch (Exception e) {
|
187
184
|
e.printStackTrace();
|
@@ -197,13 +194,11 @@
|
|
197
194
|
e.printStackTrace();
|
198
195
|
}
|
199
196
|
}
|
200
|
-
|
197
|
+
|
201
198
|
}
|
202
199
|
}
|
203
200
|
|
204
201
|
|
205
|
-
|
206
|
-
|
207
202
|
```
|
208
203
|
```ここに言語を入力
|
209
204
|
【SQL TABLE sushi】
|
2
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -41,11 +41,10 @@
|
|
41
41
|
<html><head><title>DBを読む</title></head>
|
42
42
|
<body>
|
43
43
|
<%
|
44
|
-
List<BeanAccessDB> list = obj.DBtoList();
|
44
|
+
List<BeanAccessDB> list = obj.DBtoList();
|
45
45
|
int sum = 0;
|
46
46
|
for(int i = 0; i < list.size(); i++){
|
47
|
-
obj = list.get(i);// get()メソッドでArrayListから1件データを取出し、BeanAccessDBクラスのオブジェクトに入れる
|
48
|
-
|
47
|
+
obj = list.get(i);
|
49
48
|
<% sum += obj.getPrice();%>
|
50
49
|
<a href="driveBean2.jsp?linkdata=<%= obj.getId() %>"> <%= obj.getId() %> </a>
|
51
50
|
<%= obj.getName() %>、
|
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,11 +25,7 @@
|
|
25
25
|
どなたかご教示いただけますとありがたいです。
|
26
26
|
|
27
27
|
|
28
|
-
### 発生している問題・エラーメッセージ
|
29
28
|
|
30
|
-
```
|
31
|
-
エラーメッセージ
|
32
|
-
```
|
33
29
|
|
34
30
|
### 該当のソースコード
|
35
31
|
|
@@ -228,34 +224,11 @@
|
|
228
224
|
| 010 | ちらし寿司 | 1200 | tirasi.png | 0 |
|
229
225
|
+-----+------------+-------+--------------+--------+
|
230
226
|
```
|
231
|
-
### 試したこと
|
232
227
|
|
233
|
-
ここに問題に対して試したことを記載してください。
|
234
228
|
|
235
|
-
### 補足情報(FW/ツールのバージョンなど)
|
236
|
-
|
237
|
-
ここにより詳細な情報を記載してください。
|
238
|
-
### 前提・実現したいこと
|
239
|
-
|
240
|
-
ここに質問の内容を詳しく書いてください。
|
241
|
-
(例)PHP(CakePHP)で●●なシステムを作っています。
|
242
|
-
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
243
|
-
|
244
|
-
### 発生している問題・エラーメッセージ
|
245
|
-
|
246
|
-
```
|
247
|
-
エラーメッセージ
|
248
|
-
```
|
249
|
-
|
250
|
-
### 該当のソースコード
|
251
|
-
|
252
|
-
```ここに言語名を入力
|
253
|
-
ソースコード
|
254
|
-
```
|
255
|
-
|
256
229
|
### 試したこと
|
230
|
+
自分で書ける範囲のコードは書きましたがここまでで限界でした。
|
257
231
|
|
258
|
-
ここに問題に対して試したことを記載してください。
|
259
232
|
|
260
233
|
### 補足情報(FW/ツールのバージョンなど)
|
261
234
|
|