質問編集履歴

3

定義変更

2016/12/05 05:47

投稿

ajijek
ajijek

スコア16

test CHANGED
File without changes
test CHANGED
@@ -44,7 +44,11 @@
44
44
 
45
45
  エラーの原因をさくぐったところ
46
46
 
47
- Form Beanのスコープがsessionで、Actionの中で次の画面で使うForm Beanを先に作ってsession属性に格納しているとき、 struts-config.xmlのform-beanに書いているのと、実際にsessionに入っているオブジェクトが、 画面の表示に必要十分な同じ名前のプロパティを持っているけれど、違うクラスであるということですが、これについてもよくわかりません。
47
+ Form Beanのスコープがsessionで、Actionの中で次の画面で使うForm Beanを先に作ってsession属性に格納しているとき、 struts-config.xmlのform-beanに書いているのと、実際にsessionに入っているオブジェクトが、 画面の表示に必要十分な同じ名前のプロパティを持っているけれど、違うクラスであるということですが、
48
+
49
+ 確かに、違うクラスを定義していて、かつ、session属性にしていますが、別クラス定義しないとリスト格納できないのでは?
50
+
51
+ と思いました。
48
52
 
49
53
 
50
54
 
@@ -62,49 +66,49 @@
62
66
 
63
67
 
64
68
 
65
- public static class list{
69
+ public static class list{
66
70
 
67
71
 
68
72
 
69
- private String id;
73
+ private String id;
70
74
 
71
- private String name;
75
+ private String name;
72
76
 
73
77
 
74
78
 
75
- public String getId() {
79
+ public String getId() {
76
80
 
77
- return id;
81
+ return id;
78
82
 
79
- }
83
+ }
80
84
 
81
85
 
82
86
 
83
- public void setId(String id) {
87
+ public void setId(String id) {
84
88
 
85
- this.id = id;
89
+ this.id = id;
86
90
 
87
- }
91
+ }
88
92
 
89
93
 
90
94
 
91
- public String getName() {
95
+ public String getName() {
92
96
 
93
- return name;
97
+ return name;
94
98
 
95
- }
99
+ }
96
100
 
97
101
 
98
102
 
99
- public void setName(String name) {
103
+ public void setName(String name) {
100
104
 
101
- this.name = name;
105
+ this.name = name;
102
106
 
103
- }
107
+ }
104
108
 
105
- ・・・
109
+ ・・・
106
110
 
107
- }
111
+ }
108
112
 
109
113
 
110
114
 

2

エラー原因追記

2016/12/05 05:47

投稿

ajijek
ajijek

スコア16

test CHANGED
File without changes
test CHANGED
@@ -41,6 +41,10 @@
41
41
  threw exception [BeanUtils.populate] with root cause
42
42
 
43
43
  となり動きませんでした。
44
+
45
+ エラーの原因をさくぐったところ
46
+
47
+ Form Beanのスコープがsessionで、Actionの中で次の画面で使うForm Beanを先に作ってsession属性に格納しているとき、 struts-config.xmlのform-beanに書いているのと、実際にsessionに入っているオブジェクトが、 画面の表示に必要十分な同じ名前のプロパティを持っているけれど、違うクラスであるということですが、これについてもよくわかりません。
44
48
 
45
49
 
46
50
 

1

コード追加

2016/12/05 05:42

投稿

ajijek
ajijek

スコア16

test CHANGED
File without changes
test CHANGED
@@ -36,6 +36,80 @@
36
36
 
37
37
 
38
38
 
39
+ 試しにコードを書いてみました.結果
40
+
41
+ threw exception [BeanUtils.populate] with root cause
42
+
43
+ となり動きませんでした。
44
+
45
+
46
+
47
+ 追記
48
+
49
+ ```java
50
+
51
+
52
+
53
+ public class testActionForm extends ActionForm {
54
+
55
+
56
+
57
+ private List<users> list;
58
+
59
+
60
+
61
+ public static class list{
62
+
63
+
64
+
65
+ private String id;
66
+
67
+ private String name;
68
+
69
+
70
+
71
+ public String getId() {
72
+
73
+ return id;
74
+
75
+ }
76
+
77
+
78
+
79
+ public void setId(String id) {
80
+
81
+ this.id = id;
82
+
83
+ }
84
+
85
+
86
+
87
+ public String getName() {
88
+
89
+ return name;
90
+
91
+ }
92
+
93
+
94
+
95
+ public void setName(String name) {
96
+
97
+ this.name = name;
98
+
99
+ }
100
+
101
+ ・・・
102
+
103
+ }
104
+
105
+
106
+
107
+ }
108
+
109
+ ```
110
+
111
+
112
+
39
113
  上記のようなパラメーターをセッターメソッドに保持させるには
40
114
 
41
115
  どのような方法があるのでしょうか。