我有一个使用磁贴作为 View 的 Spring MVC/3.0 应用程序,这工作正常但是我不知道如何让错误页面也使用磁贴。
我的 web.xml
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/error/404.jsp</location>
</error-page>
作为不使用图 block 的普通 View 可以正常工作,但是当我将位置更改为 View 名称之一时,找不到该 View 并呈现普通错误页面。
我的 View tiles.xml
文件包含以下定义
<definition name="404" extends="standardLayout">
<put-attribute name="body" value="/WEB-INF/error/404.jsp" />
</definition>
我正在通过 spring 配置图 block ,如下所示:
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/**/tiles.xml</value>
</list>
</property>
</bean>
我怀疑这完全是由于 View 不是来自 spring 本身?
最佳答案
您需要在 web.xml 中添加“布局的”jsp。下面是解释代码:
// 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>
关于java - 如何在 Spring/MVC 3.0 应用程序中使用带有磁贴的常见错误页面模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3552515/