[Seasar-user:13579] Re: [Teeda]あるオブジェクトのプロパティ値を表示したい

Masao NADAI [E-MAIL ADDRESS DELETED]
2008年 4月 5日 (土) 00:51:33 JST


小林 (koichik)さん、いつも丁寧な対応ありがとうございます。

> 内部的には dept.name のような id は
> dept--name のように,ピリオドをハイフン
> 2 個に置き換えて保持しようと考えています.
> # JSF 仕様で id 値にピリオドは許されないのと,

idを置き換えるという仕様と"--"の書式は、やや強引に感じますが、
そいうことであれば、いたしかたないですね。
モック上の"."の書式は直感的で、わかりやすいので、スタイルを
適用できないという制約付きで、この書式を残すことも良いと思います。


> レンダリングも dept--name になってしまうので,
> id が変わることを避ける場合はテンプレートでも
>
> <span id="dept--name">部門名</span>
>
> のように記述してもらおうと考えていました.
> これなら CSS のセレクタとしても利用可能です.

ここまで、異論はありません。


> > >案2
> > >
> > ><table id="aruObjectItems">
> > ><tr>
> > ><td>
> > >       <div id="dataADto">
> > >               <span id="expected">10</span>
> > >               <div id="isNotEqual" te:omittag="true">→<span id="realistic"
> > >class="Caution">15</span></div>
> > >       </div>
> > ></td>
>
> この方法だと,<div> の中で一部だけ Page クラスの
> プロパティ値を表示したい場合などにうまくいかないように
> 思います.

#ちなみに、サフィックス:itemsでは、<div> の中で一部だけ Page クラスの
#プロパティ値を表示できるのでしたっけ?

以下、案レベルで述べてみます。

1. DTO内のプロパティ
2. その上位のプロパティ
: そのまた上位のプロパティ
n. Pageクラスのプロパティ
この優先順位で参照すべきプロパティを探索するというのはどうでしょう。
Javaのスコープと似た概念です。

そういう意味では、id="this.hoge"で、Pageクラススコープのhogeプロパティ
を参照できてもよいと思います。
もちろん、
<div id="this">
   <span id="hoge">
</div>
でも同じ意味です。
thisは、Javaの予約語ですから、プロパティ名として使用されることはない
ですね。CSSのセレクタとして使用されている可能性はありますが。


> また,サフィックスを工夫しないと,outputText と
> 区別できないのも課題です.

できるだけ使用頻度が低いサフィックスが好ましいですね。
AsObjectというサフィックスはどうでしょうか?
private Object dataA; というプロパティに対して、id="dataAAsObject"とか。

> 今の Teeda で上記の HTML を処理すると,<div> の
> 内側は全部モック扱いになり,dataADto を toString()
> した文字列が表示されることになります.
> 意図してそう記述している場合と区別できるような
> 規約が必要です.

なるほどですねぇ。
ただ、dataAItems を toString()した文字列を表示できないのと同じことかと
思います。
ご指摘の意図は、前バージョンとの互換性がなくなることでしょうが、個人的
には、バージョンが変われば多少互換性が失われることも仕方ないと思います。
そのリスクを取れないユーザーは、バージョンを上げなければよいわけですから。
去年末ぐらいのTeedaと比較して、飛躍的に安定してきているように感じますので、
そういう方向性もありではないかと思います。
思い切って、バージョン1.1をスタートさせ、そのバージョンから対応しても
良いかもしれません。

ご検討くださいませ。


それから、書いていて思い出したのですが、
messageというサフィックスが使用できない制約があると思いますが、この制約は
なんとかならないものかと思っています。messageというサフィックスはアプリで
よく使うのです。何かうまい回避策があれば教えてください。
private String greetingMessage;
<span id="greetingMessage">こんにちは。</span>
のようなプロパティを使いたいのです。


> ネストしたプロパティ対応の仕様については
> まだまだ検討の余地があるので,よりよい案があれば
> 提案お願いします.

微力ながらお役に立てればと思います。
Teedaには、可能性を感じております。


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