SiteMesh 2.4.2 + Spring MVC 3.0.4 - 使用多个装饰器

时间:2011-03-25 14:48:29

标签: spring-mvc sitemesh

我正在开发一个将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 / ...的页面使用专用的?

我想使用特定模板的网址如http://server/context/something/etc

2 个答案:

答案 0 :(得分:1)

在行

之前加上*符号
<decorator name="special" page="/WEB-INF/jsp/specialtemplate.jsp">
    <pattern>*/something/*</pattern>
</decorator> 

答案 1 :(得分:0)

这个问题也发生在我身上,但是来自miguelr的答案在我的案例中不起作用。

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

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