当抛出未处理的异常时(例如RuntimeException
),然后我想显示一个常见的错误页面。
我想实现一些目标:
- 重用 HTML 模板(使用带有标头等的通用“框架”)并将异常信息放入正文中
- 在正文文档中提供有关异常的一些基本信息
我正在使用 Apache Tiles 和 Spring MVC。解决我的问题的好方法是什么?
我的瓷砖定义的一部分:
<tiles-definitions>
<definition name="common" template="/WEB-INF/jsp/common.jsp">
<put-attribute name="header" value="header"/>
<put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp"/>
</definition>
...
<definition name="main" extends="common">
<put-attribute name="body" value="/WEB-INF/jsp/main.jsp"/>
</definition>
</tiles-definitions>
理想情况下,我想通过设置来指定异常页面的定义body
属性...
假设你有 SpringTilesViewResolver
and TilesConfigurer
配置完成后,您可以尝试以下 bean 定义:
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="java.lang.Throwable">error</prop>
</props>
</property>
</bean>
然后简单定义逻辑视图error
:
<definition name="error" extends="common">
<put-attribute name="body" value="/WEB-INF/jsp/error.jsp"/>
</definition>
这将转发任何Throwable
到正确的视图,您可以在其中访问异常本身(${exception}
)。这不会取代所有标准 HTTP 错误页面(例如 404 等)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)