[mayaa-user:541] Re: テンプレートファイルの設定について

duran [E-MAIL ADDRESS DELETED]
2007年 8月 10日 (金) 12:35:37 JST


duranです。

下記件ですが、
結局テンプレートの拡張子を変更することで対処しようとしたのですが、
問題が起きました。

MayaaWebwork2で使用するテンプレートは
CotextRoot/WEB-INF/page/*.template としました。

MayaaServletで処理するテンプレートは
CotextRoot/*.html としました。

MayaaServletのマッピングは *.html としています。

この場合、.templateファイルは処理対象とならず、
そのまま表示されました。

そこで、エンジン設定で、
<parameter name="templatePathPattern" value=".*\.template"/>
を追加してみました。

すると、処理対象にはなったのですが、
テンプレートHTMLの記述に対するチェックが厳しくなりました。
例えば
border=0 と書かれていると「"」を付けろとエラー
<img src=""> と書かれているとタグが閉じていないとエラー

対処方法はありますか?

以上、よろしくお願いします。
> duranです。
> 
> なるほどです。
> getAttribute("javax.servlet.forward.servlet_path")の値が
> null = MayaaWebwork2 での処理
> Servletのパス = MayaaServlet での処理
> となる訳ですね。
> 
> 勉強になりました。
> 
> ありがとうございました。
> 
>> suga です。
>>
>> On 8/9/07, duran <[E-MAIL ADDRESS DELETED]> wrote:
>>> 起きている問題ですが、
>>> 動的コンテンツでしか使用していないテンプレート名を
>>> 直接入力すると *.html でマッピングしているために、
>>> 処理対象となってしまいます。
>>> もちろん認証が必要なページや前処理が必要なページだと
>>> エラーになります。
>>>
>>> 回避するためには動的コンテンツの拡張子を変更して、
>>> 処理対象から外すしか方法はないのでしょうか?
>>>
>>> Mayaa側の設定で回避することが可能であれば教えて下さい。
>> Servlet API 2.4 のコンテナであれば forward 情報を参照して制御できます。
>> forward されていなければエラーページに飛ばす、などすれば良いでしょう。
>>
>> たとえば HttpServletRequest#getAttribute("javax.servlet.forward.servlet_path") で
>> forward した Servlet のパスを取得できます。forward されていなければ null です。
>>
>> これを利用して forward されたかどうかを判定するメソッドが Mayaa の
>> request にもあり、request.isForwarded() で利用できます。
>>
>>
>> あるいは WEB-INF/ の下、pages 以外のパスに置いて、forward で /WEB-INF/foo/
>> のような指定の仕方をする方法でしょうか。
>> この場合はファイルとして表示するときと動作させたときとで画像のパスなどを
>> 合わせるのがやや面倒になります。
>>
> 
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
> 



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