autoBuildでcontextPathが"/"以外の場合、./../~の相対パス絶対化処理が正しく動作しない。
contextPath に関係なく "/" が渡されているかのように動作する。
ServletContext#getServletContextName() を AutoPageBuilder#init へ渡すように修正。(rev.3431)
ありがとうございます。 この情報を元に修正しました。
どうしてもAutoBuildを利用することが必要なため、当初は /META-INF/org.seasar.mayaa.provider.ServiceProviderに以下の設定を追加することで、暫定的に動作させております。
<provider> <engine> ... <parameter name="autoBuild.contextPath" value="/projects-context-path"/> ... </engine> </provider>
現在は、MayaaServletの代わりに、(上記の設定を削除した上で)次のようなサーブレットを使用しております。
import org.seasar.mayaa.impl.AutoPageBuilder; import org.seasar.mayaa.impl.MayaaServlet;
public class MayaaServletExt extends MayaaServlet {
private static final long serialVersionUID = 1L;
@Override protected void initAutoPageBuilder()
}
MayaaServletの初期化を行う際に、AutoBuilder#init(ServletContext)ではなく、AutoBuilder#init(ServletContext,String)を呼び出すように変更することで、「/」以外のコンテキストパスを持つアプリケーションでも、動作するようです。
ServletContext#getServletContextName() を AutoPageBuilder#init へ渡すように修正。(rev.3431)