У меня есть приложение Spring MVC / 3.0, использующее плитки в качестве представления, это работает нормально, однако я не могу понять, как получить страницы с ошибками также использовать плитку.
У меня есть web.xml
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/error/404.jsp</location>
</error-page>
, который отлично работает как обычное представление, НЕ использующее плитки, однако, когда я меняю местоположение на одно из имен представлений, представление не обнаруживается и отображает обычную ошибку страница.
Мой файл tile.xml
для представления содержит следующее определение
<definition name="404" extends="standardLayout">
<put-attribute name="body" value="/WEB-INF/error/404.jsp" />
</definition>
Я настраиваю плитки с помощью Spring следующим образом:
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/**/tiles.xml</value>
</list>
</property>
</bean>
Я подозреваю, что это все из-за того, что представление не появляется из самой пружины?
Вам необходимо добавить " размещенный "jsp" в вашем web.xml. Ниже приведен код объяснения:
// Your web.xml should look like this:
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/error/layout-404.jsp</location>
</error-page>
// Your layout-404.jsp should look like this:
<%@page isELIgnored="false" %>
<%@page contentType="text/html"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="404" />
// Your layout def should look like this:
<definition name="404" extends="standardLayout">
<put-attribute name="body" value="/WEB-INF/error/404.jsp" />
</definition>