我正在将基于 RForms 的 GUI 替换为基于 GWT 的 GUI,并且我希望保留 RForms 用于摆弄测试数据,直到 GWT UI 准备好接管。(这对我的问题可能并不重要,我只是想说明我为什么要做看起来有点愚蠢的事情)。
我正在使用 Sitemesh 将我的 GWT GUI 包装在系统其余部分通用的页眉和页脚中。不幸的是,如果 Sitemesh 在 RForms GUI 上占有一席之地,则样式会破坏页面的功能,并且 RForms GUI 将变得无法使用。
我试图通过设置 SiteMesh 来排除提供 RForms GUI 的 URL 来解决这个问题,但它似乎不起作用,无论我做什么,我要么装饰所有页面,要么没有。我的 Sitemesh 设置如下:
站点网格.xml
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml"/>
<excludes file="${decorators-file}"/>
<property name="excludes-file" value="/WEB-INF/sitemesh-excludes.xml"/>
<excludes file="${excludes-file}"/>
<page-parsers>
<parser content-type="text/html"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser"/>
<parser content-type="text/html;charset=ISO-8859-1"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser"/>
</page-parsers>
<decorator-mappers>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}"/>
</mapper>
</decorator-mappers>
</sitemesh>
装饰器.xml
<decorators defaultdir="/decorators">
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
sitemesh-excludes.xml
<decorators>
<excludes>
<pattern>/*/hostedmode.*</pattern>
<pattern>/*/download.*</pattern>
<pattern>/list/*</pattern>
<pattern>/entity/*</pattern>
<pattern>/rest/*</pattern>
<pattern>/dwr/*</pattern>
</excludes>
</decorators>
无论排除文件如何,此设置都会导致所有页面都被修饰。我还尝试将排除项与装饰器放在同一个文件中,结果相同。我确定我在做一些愚蠢的事情,但我看不到它,谁能向我解释如何防止 sitemesh 装饰特定的 url 模式?