[Seasar-user:5270] Re: [S2Dxo] ネストしたBeanの変換で例外発生
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2006年 11月 25日 (土) 07:00:09 JST
小林 (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 メーリングリストの案内