Develop with pleasure!

福岡でCloudとかBlockchainとか。

FreeMarker+Tiles連携でローカルリソースが参照できない。

http://d.hatena.ne.jp/techmedia-think/20080612
で、FreeMarkerとTilesの連携はできたけど、Tilesと連携するとFreeMarkerで作成した画面のftlファイルをwar内部に配備せずに、ローカルリソースにした場合、ファイルが見つからなくなった…。

FreeMarker単体の場合は、
http://d.hatena.ne.jp/techmedia-think/20080610/1213024886
のように、web.xmlにtemplatePathとしてローカルリソースまでのパスを定義すれば参照できたが、Tilesと連携させた場合、templatePathの定義が有効にならず、リソースが見つからない。結果TilesExceptionが発生してしまう…。

まぁ、よくよく考えるとFreeMarker+Tilesでは、FreeMarkerのftlファイルの中で
<#assign tiles=JspTaglibs["http://tiles.apache.org/tags-tiles"] />
と、JSPのtaglibを使用しているから、Servletコンテナが無ければ動作しないというのも納得できる。

んー、残念。それとも何か方法あるんだろうか?
今のところ方法が思いつかないので、Tilesを止めて、これを機にSitemeshに乗り換えようと思う。Struts2からPluginもサポートされているので、FilterベースのSitemeshだったらローカルリソース連携も問題無いだろう。