我试图设置一个简单的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
有人可以给我一个暗示吗?
谢谢!
答案 0 :(得分:0)
对于sitemesh视图修饰,它将“main”模板视为默认模板。所以如果你没有在你的JSP中指定任何模板(要进行装饰),那么它需要defination作为decorator.xml的主要文件。
如果你的应用程序中只有一个模板(机会很少),那么将装饰器名称从basicLayout重命名为main。
如果没有,那么您可以在JSP中使用来指定要使用的装饰器。