[mayaa-user:639] Re: [mayaa]複数のmayaaファイルをデフォルトにしたい
suga
[E-MAIL ADDRESS DELETED]
2008年 2月 21日 (木) 11:43:03 JST
suga です。
2008/2/21 Yasuhiro Oguro <[E-MAIL ADDRESS DELETED]>:
> > /aaa/index.mayaa に m:templateSuffix="/foo/bar/index" としておくと、
> > テンプレートは
> > /aaa/index$/foo/bar/index.html
> > になります。
> ということは
>
> /aaa/index.htmlと/aaa/index$/foo/bar/index.htmlというファイルに/aaa/index.mayaaが適用されるということですね。
はい。
ここで m:templateSuffix="${ request.suffix }" のように動的な値を渡せますので、
Action またはどこかの処理で request にセットしてからforward するようにすれば
結構自由度高くテンプレートを選べると思います。
> で、エンジンを拡張すると、/aaa/index.mayaaが
> > /foo/bar/index.html
> に適用されるようになると。
拡張の例はこうですが、当然どのようにでもできます。
> で、最初の要件に戻ると、
>
> > リクエルト 読込HTML 適用mayaaファイル
> > ------------------------------------------------------------
> > Aアクション/aaa/bbb/ aaa/bbb.html A.mayaa
> /aaa/bbb.htmlに/A.mayaaを適用するには、エンジン拡張後
> /A.mayaaにm:templateSuffix="/aaa/bbb.html"
> と書くわけでしょうか?
そうではなく、ユーザごとに同じ階層構造のディレクトリを作成しておいて、
ユーザ識別を含めたパスを suffix として指定する形になります。
# suffix という意味から逸脱しているような気はしますが。
したがって、たとえば
/foo/bar.mayaa
に対応させて
/foo/bar$/user-a/foo/bar.html
/foo/bar$/user-b/foo/bar.html
/foo/bar$/user-c/foo/bar.html
を使えるようになります。
このとき suffix は ${ ユーザ名/foo/bar } となります。
/foo/bar の指定部分がやや冗長ですが、やり方は工夫次第でしょう。
> でも実際に運用してみると、結局htmlファイル個別にmayaaを作る羽目になる可能性が高い気がします・・・ユーザはわがまま言いますからねorz
これはまた別の問題ということで :-)
--
suga ( [E-MAIL ADDRESS DELETED] )
mayaa-user メーリングリストの案内