[Seasar-user:11726] Re: [S2Dxo]ConversionRuleの記述方法について

k.moriwaki [E-MAIL ADDRESS DELETED]
2007年 11月 20日 (火) 16:59:38 JST


森脇と申します。

s2dxoのOGNLについては以下のページ詳しい説明があります。
http://s2container.seasar.org/2.4/ja/s2dxo.html#ognl

-- 以下転載
>OGNL式を利用する場合の変換ルールと「変換元プロパティ名の指定」のルールを
>混在することはできません.
>OGNL式を使用する場合は,ルール全体で変換先のプロパティ名をシングルクオートで
>囲む必要があります.
-- 転載ここまで

なので記述としては正しいと思われます。

また、以下のスレッドが参考になるのではないでしょうか。
 [Seasar-user:10403] S2DxoのConversionRule指定でIllegalArgumentException
 http://ml.seasar.org/archives/seasar-user/2007-September/012316.html


07/11/20 に M.Kondo<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 近藤と申します。
>
> S2Dxoで次のような記述を行っています。
>
> import org.seasar.extension.dxo.annotation.ConversionRule;
> pubic interface BazDxo {
>     @ConversionRule("ename : name, dname : department.name")
>     EmployeePage convert(Employee employee);
> }
>
>
> ここで、departmentがnullになる可能性もでてきたため、以下のように修正しました。
>
>     @ConversionRule("ename : name, 'dname' : department != null ?
> department.name : null")
>
> そうするとOGNL式の構文エラー(?)でうまくいかなかったため、以下のように修正しました。
> (変換先のプロパティ名を全てシングルクオート)
>     @ConversionRule("'ename' : name, 'dname' : department != null ?
> department.name : null")
>
> そうすると、意図している動作をするようになりました。
>
>
> このような記述で問題ないでしょうか?
> また、これで問題ないのであれば、通常(null判定を行わない場合など)の記述方法も
>
>     @ConversionRule("'ename' : name, 'dname' : department.name")
> のように指定した方が混乱をまねかないと思うのですが、どうでしょうか?
>
> 以上、よろしくお願いします。
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



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