[Seasar-user:17285] Re: [teeda] Listを使用したforEachの表示について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 4月 20日 (月) 23:30:31 JST
小林 (koichik) です.
Date: Mon, 20 Apr 2009 20:06:57 +0900
From: 木村 究道 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17283] Re: [teeda] Listを使用したforEachの表示について
> まず解決法は、customizer.dicon の下記の3行(7〜9行目)を削除する
> ことで、期待通りの動きとなりました。
>
> <initMethod name="addCustomizer">
> <arg>traceCustomizer</arg>
> </initMethod>
>
>
> そこで質問です、削除したカスタマイザはトレース出力のカスタマイザと
> 理解しておりますが、この解決法で問題ないでしょうか?
なるほど,それは盲点でしたね.
S2AOP は対象のクラスをサブクラス化してメソッドを
オーバーライドし,インターセプタを呼び出します.
しかし,S2AOP は J2SE1.4 で実装されているため,
generics には対応していません.
そのため,
public List<ListTestDto> getListDtoItems()
public void setListDtoItems(List<ListTestDto> listDtoItems)
はオーバーライドされて
public List getListDtoItems()
public void setListDtoItems(List listDtoItems)
となってしまい,generics の型引数は失われます.
こうなると,List を <input> の内容で更新
することはできません.
public フィールドであれば AOP の影響を
受けなかったのですけどね.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内