質問編集履歴
3
javaタグの追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
質問の変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Struts2を使用してActionクラスから一覧データをjspに渡す方法
|
1
|
+
Struts2を使用してActionクラスからListを使って一覧データをjspに渡す方法
|
body
CHANGED
@@ -1,55 +1,55 @@
|
|
1
|
+
Javaを学習しはじめたばかりの初心者です。
|
1
|
-
Struts2の
|
2
|
+
現在Struts2の勉強をしております。
|
3
|
+
前回の質問から進展があったので、再度質問させていただきます。
|
2
4
|
|
5
|
+
やりたいこと
|
6
|
+
DBに登録しあるデータの一覧を取得しjspに渡し
|
3
|
-
|
7
|
+
jspで表示する。
|
4
|
-
|
8
|
+
というものを作りたいです。
|
5
9
|
|
10
|
+
struts2ではsetter/getterを作成すればデータを保持してくれるという認識をしております。
|
11
|
+
Listを使用して、Actionクラス内で一覧を取得しjspに渡したいのですが、
|
12
|
+
Listを作成した際、どのように保持させ、どのようにjspで表示させればいいのでしょうか?
|
6
|
-
|
13
|
+
みなさまの知恵をお貸し頂きたいです。
|
7
|
-
一覧画面表示
|
8
14
|
|
9
|
-
・nologin.jsp
|
10
|
-
|
15
|
+
開発環境は
|
11
|
-
|
12
|
-
|
16
|
+
Struts2 2.5.10
|
13
|
-
DB接続処理、
|
14
|
-
DBに登録されているデータと入力されているデータを照合し、一致するならoutput.jsp
|
15
|
-
不一致ならnologin.jspに移動
|
16
|
-
|
17
|
-
現在DBAction.javaにてデータを照合するところまでできております、
|
18
|
-
|
19
|
-
【質問】
|
20
|
-
DBと照合し、一致した場合テーブルの全データをoutput.jspで表示させたいです。
|
21
|
-
Actionクラスにてどのような方法でテーブルの全データを受け渡せば良いのでしょうか?
|
22
|
-
※全データというのは、IDと照合した列だけではなく、全IDの全カラムとなります。
|
23
|
-
例)
|
24
|
-
id name pass
|
25
|
-
1 田中 tanaka
|
26
|
-
2 佐藤 satou
|
27
|
-
3 贅沢 zeitaku
|
28
|
-
|
29
|
-
id 1 pass tanaka でログインしても
|
30
|
-
田中 佐藤 贅沢 全員のデータを表示させたいです。
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
以下開発環境とそのデータになります。
|
35
|
-
|
17
|
+
tomcat 8.5
|
36
18
|
eclipse oxygen
|
37
|
-
struts2.5.10
|
38
19
|
MySQL8.0
|
39
|
-
テーブルカラム
|
40
|
-
|
20
|
+
を使用しております。
|
41
|
-
name varchar(10)
|
42
|
-
pass varchar(10)
|
43
21
|
|
44
|
-
|
22
|
+
index.jsp
|
23
|
+
```jsp
|
24
|
+
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
25
|
+
pageEncoding="UTF-8"%>
|
26
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
27
|
+
<html>
|
28
|
+
<head>
|
29
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
30
|
+
<title>Insert title here</title>
|
31
|
+
</head>
|
32
|
+
<body>
|
33
|
+
<form action="cop">
|
34
|
+
idを入力してください
|
35
|
+
<input type="text" name="id"><br>
|
36
|
+
passを入力してください
|
37
|
+
<input type="text" name="pass"><br>
|
38
|
+
<input type="submit">
|
39
|
+
</form>
|
40
|
+
</body>
|
41
|
+
</html>
|
42
|
+
```
|
45
|
-
DBAction.
|
43
|
+
DBAction.java
|
46
|
-
```
|
44
|
+
```java
|
47
45
|
package cop;
|
48
46
|
|
49
47
|
import java.sql.Connection;
|
50
48
|
import java.sql.DriverManager;
|
51
49
|
import java.sql.ResultSet;
|
52
50
|
import java.sql.Statement;
|
51
|
+
import java.util.ArrayList;
|
52
|
+
import java.util.List;
|
53
53
|
|
54
54
|
public class DBAction {
|
55
55
|
|
@@ -59,9 +59,9 @@
|
|
59
59
|
private String name;
|
60
60
|
|
61
61
|
public String execute() throws Exception{
|
62
|
-
String message="
|
62
|
+
String message="";
|
63
63
|
String user = "root";
|
64
|
-
String password = "
|
64
|
+
String password = "hirokida22";
|
65
65
|
String url="jdbc:mysql://localhost/worker?characterEncoding=UTF-8&serverTimezone=JST";
|
66
66
|
|
67
67
|
Connection con = null;
|
@@ -72,23 +72,24 @@
|
|
72
72
|
con=DriverManager.getConnection(url, user, password);
|
73
73
|
Statement st = con.createStatement();
|
74
74
|
|
75
|
-
|
75
|
+
//全テーブルデータ取得
|
76
|
-
String sqlStr = "
|
76
|
+
String sqlStr = "SELECT * FROM shain";
|
77
77
|
ResultSet result=st.executeQuery(sqlStr);
|
78
|
+
|
78
|
-
/
|
79
|
+
//Listオブジェクトの生成
|
79
|
-
|
80
|
+
List<Syain> syainList = new ArrayList<Syain>();
|
80
|
-
|
81
|
+
|
81
|
-
|
82
|
+
|
82
83
|
while(result.next()) {
|
83
|
-
|
84
|
+
Syain syain =new Syain();
|
84
|
-
|
85
|
+
syain.setName(result.getString("name"));
|
86
|
+
syain.setId(result.getString("id"));
|
85
|
-
|
87
|
+
syain.setPass(result.getString("pass"));
|
86
|
-
|
88
|
+
syainList.add(syain);
|
87
|
-
getId();
|
88
89
|
|
89
90
|
}
|
90
91
|
|
91
|
-
return
|
92
|
+
return "success";
|
92
93
|
}
|
93
94
|
|
94
95
|
public void setName(String name) {
|
@@ -116,28 +117,11 @@
|
|
116
117
|
|
117
118
|
}
|
118
119
|
```
|
119
|
-
struts.xml
|
120
|
-
```ここに言語を入力
|
121
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
122
|
-
<!DOCTYPE struts PUBLIC
|
123
|
-
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
|
124
|
-
"http://struts.apache.org/dtds/struts-2.0.dtd">
|
125
|
-
<struts>
|
126
|
-
<constant name = "struts.devMode" value = "true" />
|
127
|
-
<package name = "gi" extends = "struts-default">
|
128
|
-
<action name = "cop"
|
129
|
-
class = "cop.DBAction"
|
130
|
-
method = "execute">
|
131
|
-
<result name ="success">/output.jsp</result>
|
132
|
-
<result name ="no">/nologinjsp</result>
|
133
|
-
</action>
|
134
|
-
</package>
|
135
|
-
</struts>
|
136
|
-
```
|
137
120
|
output.jsp
|
138
|
-
```
|
121
|
+
```jsp
|
139
122
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
140
123
|
pageEncoding="UTF-8"%>
|
124
|
+
<%@taglib prefix="s" uri="/struts-tags" %>
|
141
125
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
142
126
|
<html>
|
143
127
|
<head>
|
@@ -145,9 +129,45 @@
|
|
145
129
|
<title>Insert title here</title>
|
146
130
|
</head>
|
147
131
|
<body>
|
132
|
+
|
133
|
+
|
148
|
-
一覧表示
|
134
|
+
ここに一覧表示をさせたい
|
135
|
+
|
149
136
|
</body>
|
150
137
|
</html>
|
151
138
|
```
|
152
139
|
|
140
|
+
Syain.java
|
141
|
+
```java
|
142
|
+
package cop;
|
143
|
+
|
144
|
+
public class Syain {
|
145
|
+
|
146
|
+
private String name;
|
147
|
+
private String id;
|
148
|
+
private String pass;
|
149
|
+
public String getName() {
|
150
|
+
return name;
|
151
|
+
}
|
152
|
+
public void setName(String name) {
|
153
|
+
this.name = name;
|
154
|
+
}
|
155
|
+
public String getId() {
|
156
|
+
return id;
|
157
|
+
}
|
158
|
+
public void setId(String id) {
|
159
|
+
this.id = id;
|
160
|
+
}
|
161
|
+
public String getPass() {
|
162
|
+
return pass;
|
163
|
+
}
|
164
|
+
public void setPass(String pass) {
|
165
|
+
this.pass = pass;
|
166
|
+
}
|
167
|
+
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
```
|
172
|
+
|
153
|
-
|
173
|
+
どうかお助けください、よろしくお願い致します。
|
1
例の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -73,7 +73,7 @@
|
|
73
73
|
Statement st = con.createStatement();
|
74
74
|
|
75
75
|
//入力されたpassの行を取得
|
76
|
-
String sqlStr = "select * from shain where id =
|
76
|
+
String sqlStr = "select * from shain where id ="+getId();
|
77
77
|
ResultSet result=st.executeQuery(sqlStr);
|
78
78
|
/*入力されたPWとテーブルのPWを照合
|
79
79
|
* if(result.getString("pass")==getPass() ) {
|