[Seasar-user:14994] [Teeda] forEachで表示する際、getterが3回動く理由について

木村 究道 [E-MAIL ADDRESS DELETED]
2008年 7月 11日 (金) 09:37:52 JST


いつもお世話になっております。
十八ソフトウェアの木村と申します。

forEachを使用して表示する際に、各フィールドの
getterが1行表示ごとに、3回ずつ動いているようなの
ですが、それぞれの役割を教えていただけないでしょ
うか?

動きを見る限り、1回目は空をgetしてて、2回目と3回目が
値をgetしているようなのですが、なぜ同じ値を2回getして
いるのか理解できておりません。(1回目の空をgetしている
理由も理解できてません。)

知りたい理由ですが、表に行番号を出そうとしており、
その列幅を桁数に合わせて可変にしようとしています。
その際、行番号の最大値を隠しフィールドに出力して、
JavaScriptでその値の桁数に応じて幅を設定しようと
しています。

行番号の最大値は、forEachで出力後のxxxIndexの値が
最大値になっていると思い、forEachの記述の後に隠し
フィールドを仕込んでそこにxxxIndexを出力して見た
のですが、初期値しか出力されませんでした。

また、Pegerを使用する画面では通番を表示したいため
xxxIndexのgetterにて、PagerViewHelperよりoffsetを
取得して、xxxindex値に足して表示しています。
こんな感じです↓↓↓
public int getXxxIndex() {
    return this.xxxIndex + 1 + this.pagerViewHelper.getOffset();;
}
これで行番号の表示はうまくいくのですが、隠しフィ
ールドの値が、行数+1回 offset 値を足した値になっ
てしまいます。

このような現象のため、getterが3回動いている理由が
わかれば、解決できるのではないか、また、それぞれ
役割を把握しておくべきではないか、ということで質問
させていただいております。

よろしくお願い致します。

                      以 上
-- 
-----------------------------------------------------
 十八ソフトウェア株式会社
 システム開発部 アプリケーション開発課  木村 究道
 〒850-0861 長崎市江戸町6-5江戸町センタービル6F
 TEL:095-824-0018  FAX:095-827-8754
 E-mail: [E-MAIL ADDRESS DELETED]
-----------------------------------------------------




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