java - 如何在 Spring/MVC 3.0 应用程序中使用带有磁贴的常见错误页面模板?

标签 java spring jsp spring-mvc tiles

我有一个使用磁贴作为 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/

相关文章:

java - 如何判断我的 JComponent 是否正在接收来自软件的重绘调用?

java - Spring:用于只读事务的单独数据源

java - Spring @Value 不加载属性

javascript - 重定向到同一页面,但其中有一条消息

java - Base64 Linux 和 Windows

java - 无法在图像文件上使用 "paint"来渲染函数

java - NotReadablePropertyException : Invalid property 'productss' of bean class [java. util.ArrayList]

java - java中处理空字符串

java - 如何将对象类列表添加到数组列表?

java - Tomcat问题启动服务器