[mayaa-user:750] Re: テンプレート機能のカスタマイズについて
長島
[E-MAIL ADDRESS DELETED]
2009年 2月 15日 (日) 11:27:13 JST
お世話になっています。長島です。
送付していただいたサンプルを元に、実現したい動作を実装できました。
対応して頂き、ありがとうございました。
> suga です。
>
> 2009/2/13 長島 正 <[E-MAIL ADDRESS DELETED]>:
> > はじめまして、長島と申します。
> > Mayaaについて質問があり、投稿させて頂きました。
> >
> > テンプレートの切り替えをフォルダで切り替えたいのですが
> > 可能でしょうか。
>
>
> Engine の実装を差し替えることで実現できます。
>
>
> たとえばこんなクラスを作って
>
> public class ExampleEngine extends EngineImpl {
>
> @Override
> public String getTemplateID(Page page, String suffix, String extension) {
> String pageName = page.getPageName();
> int lastSeparator = pageName.lastIndexOf('/');
> StringBuffer nameBuffer =
> new StringBuffer(pageName.substring(0, lastSeparator));
>
> String subpath = suffix;
> if (StringUtil.isEmpty(subpath)) {
> subpath = "default";
> }
> nameBuffer.append("/");
> nameBuffer.append(subpath);
> nameBuffer.append(pageName.substring(lastSeparator));
>
> if (StringUtil.hasValue(extension)) {
> nameBuffer.append(".");
> nameBuffer.append(extension);
> }
>
> return nameBuffer.toString();
> }
>
> }
>
>
> ServiceProvider の設定ファイルにこのクラスを使う定義をします。
>
> <engine class="example.ExampleEngine">
> (省略。最低限、標準の EngineImpl の定義をそのままコピー)
> </engine>
>
>
> エラーページも含めすべて同じ指定になりますので、無指定のパスを
> "default" にするなら、エラーページも同じように配置しなければ
> いけませんので注意してください。
>
> --
> suga ( [E-MAIL ADDRESS DELETED] )
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
mayaa-user メーリングリストの案内