我使用SimpleMappingExceptionResolver
重定向到URI,以防我的自定义异常。
这个问题是重定向不尊重应用程序上下文(我使用<c:url value="/" />
轻松获取JSP)。
问题是如何在Spring配置XML中获取它
context.xml -
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver" p:defaultErrorView="errorView">
<property name="exceptionMappings">
<props>
<prop key=".MyCustomException">redirect:/error</prop>
</props>
</property>
<property name="exceptionAttribute"><null/></property>
</bean>
答案 0 :(得分:0)
实际上有更好的方法可以做到这一点。
像这样声明你的SimpleMappingExceptionResolver
:
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="com.example.MyCustomException">error</prop>
</props>
</property>
</bean>
这将配置Spring MVC在每次抛出MyCustomException
时将客户端重定向到错误视图。
然后,您可以像这样配置ViewResolver
:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
因此,它将寻找&#34; /WEB-INF/views/error.jsp"要渲染的页面。你不会需要网址或任何东西。春天会照顾好一切。
参考:http://www.codejava.net/frameworks/spring/how-to-handle-exceptions-in-spring-mvc