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

質問編集履歴

4

書式の改善

2021/05/24 07:59

投稿

yanyan_tsukebo
yanyan_tsukebo

スコア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

書式の改善、自分で考えて分かった部分のコードを修正しました。

2021/05/24 07:59

投稿

yanyan_tsukebo
yanyan_tsukebo

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- JSPとJavaBeansで簡易注文システムを作りたい
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
- <% sum += obj.getPrice();%>
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 List<BeanAccessDB> updateDB(String tempid){
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
- String sql = "update sushi set number = number + 1 where id = ? ";
178
+ String sql = "update sushi set number = number + 1 where id = ? ";
182
- ps = con.prepareStatement(sql.toString());
179
+ ps = con.prepareStatement(sql.toString());
183
- ps.setString(1, tempid);
180
+ ps.setString(1, tempid);
184
- ps.executeUpdate();
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
- return null;
197
+
201
198
  }
202
199
  }
203
200
 
204
201
 
205
-
206
-
207
202
  ```
208
203
  ```ここに言語を入力
209
204
  【SQL TABLE sushi】

2

書式の改善

2021/05/24 06:55

投稿

yanyan_tsukebo
yanyan_tsukebo

スコア4

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

書式の改善

2021/05/24 02:22

投稿

yanyan_tsukebo
yanyan_tsukebo

スコア4

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