[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 メーリングリストの案内