Я реализую sitemesh3 в своем проекте MVC весной и получаю исключение 404. Я следую этому руководству SiteMesh3, теперь проблема заключается в том, что я помещаю свой jsp внутри Web-Inf в папку «просмотр», поэтому какой путь я должен дать в файле sitemesh3.xml в теге декоратора. Я пытался долго, но gettting 404 при развертывании ....Я реализую sitemesh3 в моем проекте MVC весны и получаю исключение 404
1
A
ответ
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.
Он работал для меня
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>
Я использую sitemesh3 и я sitemesh3.xml и не decorators.xml – TaherT
вы добавили этот фильтр в web.xml: SiteMesh имя фильтра> <фильтра -класс> com.opensymphony.module.sitemesh.filter.PageFilter фильтр класса> <фильтр-отображение> SiteMesh имя фильтра> /* URL-шаблон> filter-mapping> –
Kevin Эта конфигурация для простого sitemesh a nd Я использую sitemesh3, так что это не полезно для меня. Я разместил ссылку в своем вопросе, пожалуйста, обратитесь к этому, чтобы понять мою проблему. – TaherT