[Seasar-user:19192] Re: [SAStruts] ネストしたオブジェクトにインデックスでアクセスできない
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2010年 1月 25日 (月) 16:43:29 JST
ひがです。
> 星です。
>
> > BeanWrapper系ならdto.listの型がリストならリストのラッパーを
> > かえるから大丈夫な気がしますけど。
>
> nestedでアクセスした場合、ListWrapperが正しく処理されません。
>
> form.dto.list[0].propertyにアクセスする場合は
> FormWrapper→BeanWrapper→ListWrapper
> と順繰りアクセスされるのを期待しますが、BeanWrapperがListWrapperへうまくアクセスしてくれない状態です。
>
> というのは、BeanWrapperのgetメソッドに渡されるキーが "list" ではなく "list[0]"となるためです。
> BeanWrapperはフィールドに定義されたプロパティ名のみを持っているため
> "list[0]"とアクセスしてもプロパティが見つからないというエラーになっています。
>
commons-beanutilsが"list" ではなく "list[0]"でアクセスしてくるなら、
そっち(commons-beanutils)のほうがおかしい気がしますが、
素のStrutsでもMapにget("list[0]")されたら動かないのではないでしょうか。
SAStrutsの処理がおかしいなら、当然修正すべきだと思いますが、
get()に"list[0]"でアクセスされて動くようにするのはちょっと違う気がします。
Seasar-user メーリングリストの案内