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