2

我试图设置一个简单的站点网格装饰页面,但现在遇到了墙。

首先,我的设置:

#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

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

谢谢!

4

1 回答 1

0

对于 sitemesh 视图装饰,它认为“主”模板是默认的。所以如果你没有在你的 JSP 中指定任何模板(被装饰),那么它会将定义作为来自 decorator.xml 的 main。

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

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

于 2012-07-31T05:18:51.817 回答