1

我正在尝试将 sitemesh2.4 用于基于 GAE(struts 1.3,spring 2.5)的应用程序。我发现了一些配置站点网格的教程。我做的完全一样。

web.xml

<filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>

装饰器.xml

    <decorators defaultdir="/decorators/">
    <excludes>
        <pattern>/**.xml</pattern>
    </excludes>
    <decorator name="base" page="base.jsp">
        <pattern>/*</pattern>
    </decorator>
</decorators>

在此之后,我创建了一个 dir 装饰器,并在那个 base.jsp 中作为装饰器。但是当我访问我的访问 localhost:8088/ 时,没有应用装饰器。我正在使用 intellij idea,并附加了 sitemesh 的源代码进行调试。当我启动服务器时,会调用 SitemeshFilter 的“init”方法,但是当我访问 url 时,甚至不会调用“doFilter”方法。

在这方面需要帮助。谢谢

4

1 回答 1

0

我找到了问题的解决方案。实际上我也在使用 urlrewriter 过滤器。在我的 web.xml 中,我在 sitemesh 上方有这个过滤器,这就是问题所在。我将 sitemesh 过滤器移到上面,现在它工作正常。

于 2011-08-28T16:22:52.933 回答