使用Spring 2.5.6,我的SimpleMappingExceptionResolver正是如此配置的SimpleMappingExceptionResolver僅適用於某些例外
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="MismatchException">error/mismatch-error</prop>
<prop key="Exception">error/${module.render.error.logical.page}</prop>
<prop key="IllegalArgumentException">error/module-illegal-arg</prop>
<prop key="MissingServletRequestParameterException">error/module-illegal-arg</prop>
</props>
</property>
</bean>
的想法是,對於拋出:IllegalArgumentException和MissingServletRequestParameterException,我希望有一個稍微不同的錯誤屏幕,並且還的HTTP狀態代碼400返回。
IllegalArgumentException的效果很好,引用的JSP將狀態正確設置爲400. MissingServletRequestParameterException不起作用,而是出現通用的500錯誤。