質問編集履歴

3

javaタグの追加

2018/06/17 06:54

投稿

yabe0919
yabe0919

スコア15

test CHANGED
File without changes
test CHANGED
File without changes

2

質問の変更

2018/06/17 06:54

投稿

yabe0919
yabe0919

スコア15

test CHANGED
@@ -1 +1 @@
1
- Struts2を使用してActionクラスから一覧データをjspに渡す方法
1
+ Struts2を使用してActionクラスからListを使って一覧データをjspに渡す方法
test CHANGED
@@ -1,94 +1,90 @@
1
+ Javaを学習しはじめたばかりの初心者です。
2
+
1
- Struts2の使い方学習している、Java初心者です。
3
+ 現在Struts2の勉強をしております。
2
-
3
-
4
-
5
- ・index.jsp
4
+
6
-
7
- ID,PWを入力フォーム
5
+ 前回の質問から進展があったので、再度質問させていただきます。
8
-
9
-
10
-
11
- ・output.jsp
6
+
12
-
7
+
8
+
13
- 一覧画面表示
9
+ やりたいこと
14
-
15
-
16
-
17
- ・nologin.jsp
10
+
18
-
19
- ログイン失敗通知画面
20
-
21
-
22
-
23
- ・DBAction.java
24
-
25
- DB接続処理、
26
-
27
- DBに登録されているデータと入力されているデータを照合し、一致するならoutput.jsp
28
-
29
- 致ならnologin.jspに移動
11
+ DBに登録しあるデータの覧を取得しjspに渡し
12
+
30
-
13
+ jspで表示する。
14
+
31
-
15
+ というものを作りたいです。
32
-
16
+
17
+
18
+
33
- 現在DBAction.javaにてデータを照合するところまでできております
19
+ struts2ではsetter/getterを作成すればデータを保持してくれるという認識をしております
34
-
35
-
36
-
37
- 【質問】
20
+
38
-
39
-  DBと照合し、一た場合テーブルの全データをoutput.jspで表示させたいです
21
+ Listを使用Actionクラス内で覧を取得しjspに渡したいですが、
40
-
22
+
41
-  Actionクラスどのような方法テーブルの全データを受け渡せばいのでしょうか?
23
+ Listを作成した際、どのよう保持させ、どのようにjsp表示さばいのでしょうか?
42
-
43
-  ※全データというのは、IDと照合した列だけではなく、全IDの全カラムとなります。
24
+
44
-
45
-  例)
46
-
47
-    id name pass
48
-
49
- 1 田中 tanaka
50
-
51
- 2 佐藤 satou
52
-
53
- 3 贅沢 zeitaku
54
-
55
-
56
-
57
- id 1 pass tanaka でログインしても
58
-
59
- 田中 佐藤 贅沢 全員データ表示させたいです。
25
+ みなさま知恵お貸し頂きたいです。
26
+
27
+
28
+
60
-
29
+ 開発環境は
61
-
62
-
63
-
64
-
65
-  
66
-
30
+
67
- 以下開発環境とそのデータになります。
31
+ Struts2 2.5.10
68
-
32
+
69
- tomcat8.5
33
+ tomcat 8.5
70
34
 
71
35
  eclipse oxygen
72
36
 
73
- struts2.5.10
74
-
75
37
  MySQL8.0
76
38
 
39
+ を使用しております。
40
+
41
+
42
+
43
+ index.jsp
44
+
77
- テーブルカラム
45
+ ```jsp
46
+
78
-
47
+ <%@ page language="java" contentType="text/html; charset=UTF-8"
48
+
49
+ pageEncoding="UTF-8"%>
50
+
51
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
52
+
53
+ <html>
54
+
55
+ <head>
56
+
57
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
58
+
59
+ <title>Insert title here</title>
60
+
61
+ </head>
62
+
63
+ <body>
64
+
65
+ <form action="cop">
66
+
79
- id varchar(4)
67
+ idを入力してください
80
-
68
+
81
- name varchar(10)
69
+ <input type="text" name="id"><br>
82
-
70
+
83
- pass varchar(10)
71
+ passを入力してください
72
+
84
-
73
+ <input type="text" name="pass"><br>
74
+
85
-
75
+ <input type="submit">
76
+
86
-
77
+ </form>
78
+
87
-
79
+ </body>
80
+
88
-
81
+ </html>
82
+
83
+ ```
84
+
89
- DBAction.jsp
85
+ DBAction.java
90
-
86
+
91
- ```ここに言語を入力
87
+ ```java
92
88
 
93
89
  package cop;
94
90
 
@@ -102,6 +98,10 @@
102
98
 
103
99
  import java.sql.Statement;
104
100
 
101
+ import java.util.ArrayList;
102
+
103
+ import java.util.List;
104
+
105
105
 
106
106
 
107
107
  public class DBAction {
@@ -120,11 +120,11 @@
120
120
 
121
121
  public String execute() throws Exception{
122
122
 
123
- String message="no";
123
+ String message="";
124
124
 
125
125
  String user = "root";
126
126
 
127
- String password = "root1234";
127
+ String password = "hirokida22";
128
128
 
129
129
  String url="jdbc:mysql://localhost/worker?characterEncoding=UTF-8&serverTimezone=JST";
130
130
 
@@ -146,31 +146,33 @@
146
146
 
147
147
 
148
148
 
149
- //入力されたpassの行を取得
149
+ //全テーブルデータ取得
150
-
150
+
151
- String sqlStr = "select * from shain where id ="+getId();
151
+ String sqlStr = "SELECT * FROM shain";
152
152
 
153
153
  ResultSet result=st.executeQuery(sqlStr);
154
154
 
155
+
156
+
155
- /*入力されたPWとテーPWを照合
157
+ //Listオジェクト生成
156
-
158
+
157
- * if(result.getString("pass")==getPass() ) {
159
+ List<Syain> syainList = new ArrayList<Syain>();
158
-
159
- message="success";
160
+
160
-
161
- }*/
161
+
162
+
163
+
162
164
 
163
165
  while(result.next()) {
164
166
 
165
- String str1 = result.getString("id");
167
+ Syain syain =new Syain();
166
-
168
+
167
- String str2 = result.getString("name");
169
+ syain.setName(result.getString("name"));
170
+
168
-
171
+ syain.setId(result.getString("id"));
172
+
169
- String str3 = result.getString("pass");
173
+ syain.setPass(result.getString("pass"));
170
-
174
+
171
- setId(str1);
175
+ syainList.add(syain);
172
-
173
- getId();
174
176
 
175
177
 
176
178
 
@@ -178,7 +180,7 @@
178
180
 
179
181
 
180
182
 
181
- return message;
183
+ return "success";
182
184
 
183
185
  }
184
186
 
@@ -234,72 +236,110 @@
234
236
 
235
237
  ```
236
238
 
237
- struts.xml
239
+ output.jsp
238
-
240
+
239
- ```ここに言語を入力
241
+ ```jsp
242
+
240
-
243
+ <%@ page language="java" contentType="text/html; charset=UTF-8"
244
+
245
+ pageEncoding="UTF-8"%>
246
+
241
- <?xml version="1.0" encoding="UTF-8"?>
247
+ <%@taglib prefix="s" uri="/struts-tags" %>
242
-
243
- <!DOCTYPE struts PUBLIC
248
+
244
-
245
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
249
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
246
-
247
- "http://struts.apache.org/dtds/struts-2.0.dtd">
250
+
248
-
249
- <struts>
251
+ <html>
250
-
252
+
251
- <constant name = "struts.devMode" value = "true" />
253
+ <head>
252
-
254
+
253
- <package name = "gi" extends = "struts-default">
255
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
254
-
255
- <action name = "cop"
256
+
256
-
257
- class = "cop.DBAction"
258
-
259
- method = "execute">
260
-
261
- <result name ="success">/output.jsp</result>
262
-
263
- <result name ="no">/nologinjsp</result>
257
+ <title>Insert title here</title>
258
+
264
-
259
+ </head>
260
+
261
+ <body>
262
+
263
+
264
+
265
+
266
+
267
+ ここに一覧表示をさせたい
268
+
269
+
270
+
271
+ </body>
272
+
265
- </action>
273
+ </html>
266
-
267
- </package>
268
-
269
- </struts>
270
274
 
271
275
  ```
272
276
 
277
+
278
+
273
- output.jsp
279
+ Syain.java
274
-
280
+
275
- ```ここに言語を入力
281
+ ```java
282
+
276
-
283
+ package cop;
284
+
285
+
286
+
287
+ public class Syain {
288
+
289
+
290
+
277
- <%@ page language="java" contentType="text/html; charset=UTF-8"
291
+ private String name;
292
+
278
-
293
+ private String id;
294
+
295
+ private String pass;
296
+
279
- pageEncoding="UTF-8"%>
297
+ public String getName() {
280
-
281
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
298
+
282
-
283
- <html>
299
+ return name;
300
+
284
-
301
+ }
302
+
303
+ public void setName(String name) {
304
+
305
+ this.name = name;
306
+
307
+ }
308
+
309
+ public String getId() {
310
+
311
+ return id;
312
+
313
+ }
314
+
315
+ public void setId(String id) {
316
+
317
+ this.id = id;
318
+
319
+ }
320
+
321
+ public String getPass() {
322
+
285
- <head>
323
+ return pass;
286
-
324
+
287
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
325
+ }
288
-
326
+
289
- <title>Insert title here</title>
327
+ public void setPass(String pass) {
290
-
328
+
291
- </head>
329
+ this.pass = pass;
292
-
293
- <body>
330
+
294
-
295
- 一覧表示
331
+ }
296
-
332
+
333
+
334
+
335
+
336
+
297
- </body>
337
+ }
298
-
299
- </html>
338
+
339
+
300
340
 
301
341
  ```
302
342
 
303
343
 
304
344
 
305
- となります。よろしくお願い致します。
345
+ どうかお助けください、よろしくお願い致します。

1

例の追記

2018/06/17 06:32

投稿

yabe0919
yabe0919

スコア15

test CHANGED
File without changes
test CHANGED
@@ -148,7 +148,7 @@
148
148
 
149
149
  //入力されたpassの行を取得
150
150
 
151
- String sqlStr = "select * from shain where id =1";
151
+ String sqlStr = "select * from shain where id ="+getId();
152
152
 
153
153
  ResultSet result=st.executeQuery(sqlStr);
154
154