1

我正在将基于 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 模式?

4

0 回答 0