[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 メーリングリストの案内