Sitemesh不会修饰返回的视图

时间:2012-07-30 15:40:20

标签: java spring sitemesh

我试图设置一个简单的sitemesh装饰页面,但现在正在碰壁。

首先,我的设置:

#decorators.xml
<?xml version="1.0" encoding="UTF-8"?>
<decorators>
    <decorator name="basicLayout" page="/WEB-INF/views/layout.jsp">
        <pattern>*</pattern>
    </decorator>
</decorators>

这里没什么特别的

#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>*.jsp</url-pattern>
</filter-mapping>

没什么特别的

当我调用应用程序的索引时,它会被装饰。 当我单击一个调用返回视图的控制器的链接时,返回的视图不会被装饰。实际上,这仅适用于欢迎文件。 我尝试了不同的装饰模式,结果是相同的或者是一个除外:D

有人可以给我一个暗示吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

对于sitemesh视图修饰,它将“main”模板视为默认模板。所以如果你没有在你的JSP中指定任何模板(要进行装饰),那么它需要defination作为decorator.xml的主要文件。

如果你的应用程序中只有一个模板(机会很少),那么将装饰器名称从basicLayout重命名为main。

如果没有,那么您可以在JSP中使用来指定要使用的装饰器。