让Sitemesh3支持渲染错误页面

Sitemesh 3 一直让我蛮困扰的是不能把那些error页面也给渲染到框架页中,查询源码发现是在 org.sitemesh.webapp.contentfilter.BasicSelector.BasicSelector(boolean, String…) 这个类里面做了控制,里面有个参数是 includeErrorPages,但是在其初始化配置过程中,这个参数只能设置个默认值为 false。

搞了半天,丫的这部分配置虽然也挺灵活,但是真想下手改的地方却都是private的,焦头烂额之后都快打算把源码直接解压到自己的项目目录下来改了。

不过转念一想,阳光底下无新事,我所想到的问题肯定已经有别人也想到了。一Google,果不其然,官方issue里面就有这么一条:sitemesh3 not decorating error pages。

解决办法直截了当:


<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>ERROR</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>

你可能感兴趣的:(error,sitemesh,sitemesh3)