3

我正在开发一个使用 SiteMesh 2.4.2 和 Spring MVC 的应用程序。

我想要两个装饰器,例如:

<decorators>
  <decorator name="special" page="/WEB-INF/jsp/specialtemplate.jsp">
    <pattern>/something/*</pattern>
  </decorator> 

  <decorator name="main" page="/WEB-INF/jsp/pagetemplate.jsp">
    <pattern>/*</pattern>
  </decorator>
</decorators>

问题是只应用了主装饰器(也适用于页面 /something/...)

我应该如何正确配置装饰器,以便 /something/... 的页面使用专用的?

我想使用特定模板的 url 看起来像http://server/context/something/etc

4

2 回答 2

1

在行包含 * 符号

<decorator name="special" page="/WEB-INF/jsp/specialtemplate.jsp">
    <pattern>*/something/*</pattern>
</decorator> 
于 2011-05-31T11:06:58.907 回答
0

这个问题也发生在我身上,但 miguelr 的答案对我来说不起作用。

除了 Sitemesh,我还在使用 urlRewriteFilter (org.tukey.web.filters.urlrewrite.UrlRewriteFilter)。

一旦我在 web.xml 中的 urlRewriteFilter 过滤器映射上方声明了 Sitemesh 过滤器映射,sitemesh 就开始正常工作(即,它会正确选择我的其他装饰器 URL 模式)。

于 2011-08-30T07:39:04.013 回答