[mayaa-user:798] Re: テンプレートをファイル以外で持つ方法について

: p [E-MAIL ADDRESS DELETED]
2009年 6月 2日 (火) 20:19:47 JST


深澤です。

PageSourceFactoryImpl と PageSourceDescriptor を独自で実装していけそうです。
ファイルで保存している.mayaaとの連携がまだうまくいってませんが、これも解決しそうです。

これでVelocityを使わなくて済みそうです。

よく見たらこのMLで以前にも同じ質問をされてる方がいたようでした。


ありがとうございました。


2009/06/02 11:58 suga <[E-MAIL ADDRESS DELETED]>:
> suga です。
>
> 2009/6/1 : p <[E-MAIL ADDRESS DELETED]>:
>> 環境:oracle+s2jdbc+sastruts+mayaaで開発しております。
>>
>> Mayaaのテンプレートファイル(html)をDBから取得し、ファイルとして書き出さずに、SAStrutsのFormオブジェトの
>> とあるプロパティに設定したhtmlソースを.mayaaファイルとバインディングさせたいと考え、調べています。
>> がよい方法が見つけられません。
>>
>> 何か解決策又はヒントはありませんでしょうか?
>
> classes/META-INF/org.seasar.mayaa.source.PageSourceFactory
> という XML ファイルを置いて、Mayaa がソースを探すパスを
> カスタマイズすれば可能です。
>
> オリジナルは src-impl/org/seasar/mayaa/impl/factory/ の下にあります。
>
> <factory class="org.seasar.mayaa.impl.source.PageSourceFactoryImpl"
>        serviceClass="org.seasar.mayaa.impl.source.PageSourceDescriptor">
>        <parameter name="folder" value="/WEB-INF/page"/>
> </factory>
>
> この serviceClass として指定されているクラスを独自のものに置き換える
> という形になるでしょう。
> ソースの systemID とはコンテキストルートからの /foo/bar.html のような
> パスです。拡張子が .html なら独自で探し、そうでなければデフォルトに
> 任せるような実装をする形でしょうか。
>
> 独自SourceDescriptorとデフォルトとの場合分けをするところは、
> PageSourceFactoryImpl も置き換える方がスマートかもしれません。
>
>
> 注意点としては、getTimestamp() で再ビルドが必要かどうかのチェックを
> するため、適切にタイムスタンプを返す必要があることです。
> タイムスタンプチェックを無効にしているなら話は別ですけど。
>
> --
> suga ( [E-MAIL ADDRESS DELETED] )
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
>


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