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