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

質問編集履歴

3

javaタグの追加

2018/06/17 06:54

投稿

yabe0919
yabe0919

スコア15

title CHANGED
File without changes
body CHANGED
File without changes

2

質問の変更

2018/06/17 06:54

投稿

yabe0919
yabe0919

スコア15

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の使い方学習している、Java初心者です。
2
+ 現在Struts2の勉強をしております。
3
+ 前回の質問から進展があったので、再度質問させていただきます。
2
4
 
5
+ やりたいこと
6
+ DBに登録しあるデータの一覧を取得しjspに渡し
3
- ・index.jsp
7
+ jspで表示する。
4
- ID,PW入力フォーム
8
+ というもの作りたいです。
5
9
 
10
+ struts2ではsetter/getterを作成すればデータを保持してくれるという認識をしております。
11
+ Listを使用して、Actionクラス内で一覧を取得しjspに渡したいのですが、
12
+ Listを作成した際、どのように保持させ、どのようにjspで表示させればいいのでしょうか?
6
- ・output.jsp
13
+ みなさまの知恵をお貸し頂きたいです。
7
- 一覧画面表示
8
14
 
9
- ・nologin.jsp
10
- ログイン失敗通知画面
15
+ 開発環境は
11
-
12
- ・DBAction.java
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
- tomcat8.5
17
+ tomcat 8.5
36
18
  eclipse oxygen
37
- struts2.5.10
38
19
  MySQL8.0
39
- テーブルカラム
40
- id varchar(4)
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.jsp
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="no";
62
+ String message="";
63
63
  String user = "root";
64
- String password = "root1234";
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
- //入力されたpassの行を取得
75
+ //全テーブルデータ取得
76
- String sqlStr = "select * from shain where id ="+getId();
76
+ String sqlStr = "SELECT * FROM shain";
77
77
  ResultSet result=st.executeQuery(sqlStr);
78
+
78
- /*入力されたPWとテーPWを照合
79
+ //Listオジェクト生成
79
- * if(result.getString("pass")==getPass() ) {
80
+ List<Syain> syainList = new ArrayList<Syain>();
80
- message="success";
81
+
81
- }*/
82
+
82
83
  while(result.next()) {
83
- String str1 = result.getString("id");
84
+ Syain syain =new Syain();
84
- String str2 = result.getString("name");
85
+ syain.setName(result.getString("name"));
86
+ syain.setId(result.getString("id"));
85
- String str3 = result.getString("pass");
87
+ syain.setPass(result.getString("pass"));
86
- setId(str1);
88
+ syainList.add(syain);
87
- getId();
88
89
 
89
90
  }
90
91
 
91
- return message;
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

例の追記

2018/06/17 06:32

投稿

yabe0919
yabe0919

スコア15

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 =1";
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() ) {