[Seasar-user:5272] Re: [S2Dxo] ネストしたBeanの変換で例外発生

KOMORI Yusuke [E-MAIL ADDRESS DELETED]
2006年 11月 25日 (土) 16:43:55 JST


 小森です。

> @ConversionRule("'mname' : manager != null ? manager.ename : null")

 なるほど、こういう使い方ができるのですね。
 これで解決、バッチリです。

 どうもありがとうございます。

On Sat, 25 Nov 2006 07:00:09 +0900, Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:

> 小林 (koichik) です.
> 
> Date:    Sat, 25 Nov 2006 06:18:40 +0900
> From:    KOMORI Yusuke <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:5269] [S2Dxo] ネストしたBeanの変換で例外発生
> 
> >  @ConversionRule("mname : manager.ename")
> >  EmployeeDto convert(Employee employee)
> > 
> >  これで、EmployeeDto の mname には、Employee が持っている manager の 
> > ename が設定されますよね。
> > 
> >  通常はこれでうまくいくのですが、manager が null の場合、以下のようなOGNL 
> > の例外が発生してしまいます。
> 
> 現状,ここは丸ごと OGNL で評価させているので,S2Dxo での
> 対処は難しいかも.一応調べてみますが.
> OGNL に NullHandler というものがあるのでそれを使えば
> いいのかもしれませんが,S2 本体に影響を与えてしまいそう.
> 
> >  ConversionContextImpl あたりで対処すれば良さそうなんですが、Ognl の使
> > い方が分かっていないので、あきらめました・・・
> 
> OGNL は Java みたいなものなので 3 項演算子が使えます.
> 
> @ConversionRule("'mname' : manager != null ? manager.ename : null")
> 
> この場合は変換先のプロパティ名 (コロンの左辺) をシングル
> クオートで囲んでください.
> 
> 
> -- 
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

----------------------------------------------
 小森 裕介 / Yusuke Komori

  E-Mail : [E-MAIL ADDRESS DELETED]
    Blog : http://d.hatena.ne.jp/y-komori/
     URL : http://www.littleforest.jp/





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