[Seasar-user:12442] Re: [Teeda] outputText で Entity オブジェクトのプロパティを参照したい

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 1月 10日 (木) 17:00:24 JST


小林 (koichik) です.

Date:    Thu, 10 Jan 2008 11:40:37 +0900
From:    "Tsutomu Uchima" <[E-MAIL ADDRESS DELETED]>
To:       <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:12427] [Teeda] outputText で Entity オブジェクトのプロパティを参照したい

> outputText コンポーネントで Dept クラスの name プロパティへアクセスし
> 値を出力したいのですが、どのように記述すれば良いのでしょうか?
> 
>  id="dept_name"
> 
> のような書式があるのでしょうか?

ありません.
EmpListPage に

public class EmpListPage {
  ...
  public String deptName;
  ...
}

のようなプレフィックス付きのプロパティを
持たせて,prerender() でコピーするなど
する必要があります.

S2Dxo や Beans ではプレフィックス付きのプロパティから
プレフィックスを除いたプロパティにコピーする機能が
あるのですが,現時点では逆向きはないので,
S2Dxo なら @ConversionRule で指定する必要があります.

public interface XxxDxo {
  @ConversionRule("deptName : department.name")
  convert(Dept, EmpListPage);
}

public void prerender() {
  xxxDxo.convert(dept, this);
}

みたいな.
# S2Dxo では @DestPrefix でプレフィックスを
# 付加してコピーできるようにしようと思います.

> 今後 Teeda + S2Dao ではなく Teeda + S2JDBC で開発したいと思っています
> 
> *そもそも dept.name を扱おうとする事が Teeda Extension的に間違い?

Teeda は S2Dao というか問い合わせ結果を
フラットな DTO で取得することを想定しています.
S2JDBC によってエンティティ (Bean) がネストした
オブジェクトグラフを扱う機会が増えてくると,
今のままの仕様では使いづらいということは
ひがさんとも話をしています.

現状としては,Teeda を使うなら S2Dao,
S2JDBC を使うなら SAStruts の組み合わせの方が
相性はいいかもしれません.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>



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