[Seasar-user:20739] Re: [Teeda] table 内の checkbox について

TAKEUCHI, Manabu [E-MAIL ADDRESS DELETED]
2011年 4月 20日 (水) 09:39:15 JST


竹内@エールシステムです。

みなさん。ありがとうございました。

確かに Items を public 宣言して getter/setter を削除すれば回避することが出来ました。
# getter/setter に拘っていたのが敗因のようです。

取りあえずこれで作業を進められそうです。

ありがとうございました。


2011年4月19日22:04 あきら <[E-MAIL ADDRESS DELETED]>:
> あきらです
>
> Dxoというよりは、Itemsの問題のようです。
> 原因は解決していませんが、public にすれば回避はします
>
>        public List<Student> studentItems;
>
> setStudentItems があると、昔の値を上書きしているように見えます
> (本当は上書きしたあとに正しい値でセットしなおしているはずですが。。。)
>
> publicの場合のログです
>
> org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT deployを開始します
> org.seasar.framework.container.util.S2ContainerUtil -
> クラス(web.setLeader.SetLeaderPage[setLeader_setLeaderPage])のコンポーネント定義を登録します
> org.seasar.framework.container.util.S2ContainerUtil -
> クラス(web.setLeader.SetLeaderDxo[setLeader_setLeaderDxo])のコンポーネント定義を登録します
> DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> web.setLeader.SetLeaderPage#isLeader()
> DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - END
> web.setLeader.SetLeaderPage#isLeader() : false
> DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> web.setLeader.SetLeaderPage#isLeader()
> DEBUG org.seasar.framework.aop.interceptors.TraceInterceptor - END
> web.setLeader.SetLeaderPage#isLeader() : false
>
> setterがある場合のログです(publicでもセットがあるとこうなる)
>
> org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT deployを開始します
> org.seasar.framework.container.util.S2ContainerUtil -
> クラス(web.setLeader.SetLeaderPage[setLeader_setLeaderPage])のコンポーネント定義を登録します
> org.seasar.framework.container.util.S2ContainerUtil -
> クラス(web.setLeader.SetLeaderDxo[setLeader_setLeaderDxo])のコンポーネント定義を登録します
> org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> web.setLeader.SetLeaderPage#getStudentItems()
> org.seasar.framework.aop.interceptors.TraceInterceptor - END
> web.setLeader.SetLeaderPage#getStudentItems() : null
> org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> web.setLeader.SetLeaderPage#setStudentItems([studentId = 1;
> studentName = 前田敦子; leader = false, studentId = 2; studentName =
> 高橋みなみ; leader = true, studentId = 3; studentName = 板野友美; leader =
> false, studentId = 4; studentName = 小嶋陽菜; leader = false, studentId =
> 5; studentName = 峯岸みなみ; leader = false, studentId = 6; studentName =
> 平嶋夏海; leader = false])
> org.seasar.framework.aop.interceptors.TraceInterceptor - END
> web.setLeader.SetLeaderPage#setStudentItems([studentId = 1;
> studentName = 前田敦子; leader = false, studentId = 2; studentName =
> 高橋みなみ; leader = true, studentId = 3; studentName = 板野友美; leader =
> false, studentId = 4; studentName = 小嶋陽菜; leader = false, studentId =
> 5; studentName = 峯岸みなみ; leader = false, studentId = 6; studentName =
> 平嶋夏海; leader = false]) : null
> org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> web.setLeader.SetLeaderPage#isLeader()
> org.seasar.framework.aop.interceptors.TraceInterceptor - END
> web.setLeader.SetLeaderPage#isLeader() : false
>
> 正しいときのフラグへのセッター(setStudentItemsがない)
> studentIndex=0 leader=true(初回は前回の状態)
> studentIndex=0 leader=false (ここが正しい値)
> studentIndex=0 leader=false(?)
> studentIndex=1 leader=false(初回は前回の状態)
> studentIndex=1 leader=true (ここが正しい値)
> studentIndex=1 leader=false(?)
>
> だめなとき(setStudentItemsがある)
> studentIndex=0 leader=true(初回は前回の状態)
> studentIndex=0 leader=false(?)
> studentIndex=1 leader=false(初回は前回の状態)
> studentIndex=1 leader=false(?)
>
> 真ん中の正しい値をセットする部分が抜けていますね
>
> studentItemsSave の中の処理っぽいですが、Teeda本体のソースが入っていない開発環境
> でなのでそれ以上は追っていませんが、まずは途中まで!
>
> あきら
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>



-- 
竹内 学 <mailto:[E-MAIL ADDRESS DELETED]>
株式会社エールシステム
384-0083
長野県小諸市大字市665-9
Phone: 0267-25-5990
Facsimile: 0267-26-1324


Seasar-user メーリングリストの案内