我在我的 spring MVC 项目中实现 sitemesh3 并得到 404 异常。我正在关注本教程SiteMesh3现在问题是我将我的 jsp 放在 Web-Inf 中的视图文件夹中,所以我应该在装饰器标记中的 sitemesh3.xml 中给出什么路径。我在部署时尝试了很长但得到 404....
问问题
1656 次
2 回答
4
我成功地使它工作sitemesh3 + spring mvc。装饰器可以毫无问题地放置在 WEB-INF 中
我的目录结构如下
webapp/WEB-INF$ tree
.
├── enable-jmx.xml
├── lnramirez-servlet.xml
├── sitemesh3.xml
├── urlrewrite.xml
├── views
│ ├── about.jsp
│ ├── blog
│ │ └── list.jsp
│ ├── defaultdecorator.jsp
│ └── home.jsp
└── web.xml
我的 sitemesh3 配置
$ cat sitemesh3.xml
<?xml version="1.0" encoding="MacRoman"?>
<sitemesh>
<mapping path="/*" decorator="/WEB-INF/views/defaultdecorator.jsp"/>
</sitemesh>
和我的 web.xml
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>HiddenMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
请注意,如果您像我一样使用 UrlRewriteFilter 过滤器,您可能会遇到与我相同的问题。您必须将ConfigurableSiteMeshFilter放在其他过滤器之前。
它对我有用
于 2012-05-25T13:14:14.937 回答
0
这对我有用:
装饰器.xml:
<decorators defaultdir="/WEB-INF/decorators">
<decorator name="login" page="login_master.jsp">
<pattern>/login*</pattern>
</decorator>
<decorator name="none" page="none.jsp">
<pattern>/report*</pattern>
</decorator>
<decorator name="master" page="master.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
无.jsp:
<html>
<head>
<title>
<decorator:title />
</title>
<decorator:head />
</head>
<body>
<decorator:body />
</body>
</html>
于 2012-05-05T10:22:06.033 回答