春の MVC プロジェクトで sitemesh3 を実装していて、404 例外が発生しています。私はこのチュートリアルSiteMesh3に従っていますが、問題は、ビューフォルダーのWeb-Inf内にjspを配置しているため、デコレータータグの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
これは私のために働きます:
decorators.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>
None.jsp:
<html>
<head>
<title>
<decorator:title />
</title>
<decorator:head />
</head>
<body>
<decorator:body />
</body>
</html>
于 2012-05-05T10:22:06.033 に答える