我曾经尝试设置一个简单的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
有人能给我点提示吗?
谢谢!
发布于 2012-07-31 13:18:52
对于sitemesh视图装饰,它将"main“模板视为默认模板。因此,如果您没有在您的JSP中指定任何模板(要修饰),那么它将从decorator.xml中将定义作为main。
如果您的应用程序中只有一个模板(可能性很小),那么将装饰器名称从basicLayout重命名为main。
如果不是,那么您可以在JSP中使用来指定要使用的装饰器。
https://stackoverflow.com/questions/11724791
复制相似问题