[Seasar-user:1375] Re: Mayaの式言語サポート(Re: Mayaドキュメント初稿第2版)
Masataka Kurihara
kurihara
2004年 12月 19日 (日) 21:01:34 JST
栗原です。
横田さま>
さて、その後、仕様を煮詰めながら実装をすすめてますが、
式言語について方針を大きく転換しようと考えています。現在
議論中ですが、JSR245/JSP2.1の仕様にできるだけ準拠した
エンジンとしてMayaを実装しようとしており、式も当初Seasar2
にあわせてOGNLを採用しようとしていたのですが、どうも難しい
ようです。
JSR245で定義される式言語エンジンの挙動が、以下の点、
考えていたものと異なっています。
・式を含む属性値やテキストボディは、ブレースのネストを見ることなく、
まるごと式言語エンジンに投げられる。
ずっと式の切り出しを考えていたのですが、調べるとJSFの実装でも
(MyFaces)そのような動きをしてますし、仕様書もはっきりとは書
いてないのですが、ほぼそのように読めます。式を投げる先がJSP
カスタムタグという既製品なので、このへんできる限りJSR245にあ
わせようと思います。そのため、期待させ、約束した件で恐縮ですが、
式を含む属性は丸ごと式エンジンに投げ&式を含むテキストボディ
は、やはりこちらも丸ごと式エンジンに投げ、とせざるをえません。
仕様は、実装APIを含む第4版を準備中です。APIの実装とドキ
ュメントの公開後、周辺確認ください。
--
株式会社グルージェント
栗原 傑享(くりはら まさたか)
渋谷区渋谷3-7-6 第6矢木ビル4F
TEL:03-5469-8869 FAX:03-5469-8879
URL:http://www.gluegent.com/
--
> 横田です。
>
> On Tue, 07 Dec 2004 00:43:43 +0900
> Masataka Kurihara <[E-MAIL ADDRESS DELETED]> wrote:
>
> > 一度目の「${」が見つかって後、「{」に対応する閉じ「}」をみていくように
> > したいと思います。ご要望とおり、式言語エンジンには「(this#)${type}.name」
> > を渡すように実装しますね。
>
> ありがとうございます。^^)/ 助かります。
>
> > > ・getName()が「NAME」という文字列を返す
> > > ・toString()が「#var」という文字列を返す
> > > ようなオブジェクトである場合、out.println(${type}.name)の評価結果は(1)
> > > の場合は
> > > out.println(#evaluated_type.name) -> "NAME" を印字
> > > となりますが、(2)の場合は
> > > out.println(#var.name) -> #varのnameプロパティの値を印字
> >
> > これはちょっと私のほうでは採否を問えませんが、前者のほうが直感的かなと
> > 思います。後者はあらかじめ組み込みの変数を意識したJavaオブジェクトの作り
> > になる(toString()を、式言語のオブジェクト名を返すように実装するわけです
> > から)トリッキーかなと思います。式言語のための式言語になってしまうのでは
> > ないでしょうか?それなら、はじめからネストしないで、out.println(#var.name)
> > とだけ書けばよいように思います。もちろん、これは例であって、実際には有用
> > な場面があるのかもしれませんが。。。
>
> 例が悪かったかもしれません。確かに、OGNL式の場合は(1)の方が直感的ですし
> (2)が役に立つケースはあまりないのかもしれませんね。自分が想定していたのは、
> 例えばAntのbuild.xmlに書くプロパティ展開指定である${ }のようなものです。
> 例えばプロパティとして
> product.id=seasar
> prduct.version=2.0
> と定義されている時、build.xml中に
> ${product.id}-${product.version}.zip
> などのように書くと
> seasar-2.0.zip
> のように展開されますが、それを入れ子で行なうイメージです。入れ子でプロパティ
> の値展開をすると便利なケースは(OGNLの場合とは違って)時々あるんです。
>
> > とにかく、ひとつご要望に近い形の仕様にできたかと思いますので、今後の実
> > 装の進捗をご覧になっていただきつつ、また気がつく点ありましたらコメントく
> > ださい。
>
> 少なくとも、後は式言語エンジン側で頑張ればどうにかなるところまでは来ました
> ので、自分にとっては大きな収穫です。要望に応えて頂いてありがとうございまし
> た。
>
> --------
> YOKOTA Takehiko
> [E-MAIL ADDRESS DELETED]
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内