[Seasar-user:20025] Re: [S2Dxo]値が渡されない

=?ISO-2022-JP?B?GyRCTXshIXssIUpCZzEnQ2ghSxsoQg==?= [E-MAIL ADDRESS DELETED]
2010年 7月 29日 (木) 18:43:39 JST


小林 様へ

Rikiです。


>その変換はサポートされていません
了解いたしました。


大変助かりました。
ご返事ありがとうございます。

以上、宜しくお願いいたします。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Thursday, July 29, 2010 5:30 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20024] Re: [S2Dxo]値が渡されない

小林 (koichik) です.

Date:    Thu, 29 Jul 2010 16:50:27 +0800
From:    李 ?(大宇宙) <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:20022] [S2Dxo]値が渡されない

> S2Dxoを利用する時に、値が渡されないです。(利用したライブが:s2-framework-2.4.41.jarです。)
> 
> 利用場合:単純なPOJO→ネストPOJOに値を渡す

その変換はサポートされていません.

http://s2container.seasar.org/2.4/ja/s2dxo.html#propertyName
------------------------------------------------------------
変換元のプロパティ名には,ネストしたJavaBeansのプロパティ名を
ピリオド区切りで指定することもできます.

ename : name, dname : department.name
------------------------------------------------------------

ネストしたプロパティを指定できるのは,変換「元」(src)
であって,変換「先」 (dest) では「ありません」.

本題とは関係ありませんが,

>     @ConversionRule("’info.address' : 'addr'")

'addr' のように変換「元」 (':' の後側) をクオートすると
変換元 JavaBeans のプロパティの値ではなく,文字列が
変換先 JavaBeans に設定される (この例ではされませんが) ので
注意してください.


本来やりたかったことについては,

Dxo インタフェースを

public interface XXXXDxo {
    void convert(Output src, Form dest);

    @ConversionRule("address : addr")
    void convert(Output src, Info dest);
}

として,

dxo.convert(output, form);
dxo.convert(output, form.getInfo());

と続けて呼び出してください.


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