我正在玩SimpleMappingExceptionResolver來查看它是如何工作的,看看它對我們來說是否對客戶有用,但是我在理解時遇到問題。Spring SimpleMappingExceptionResolver不會進入默認視圖
我試過的是訪問我的應用程序中的特定頁面,並讓它在handleRequestInternal方法中拋出異常。
當我拋出一個RecoverableDataAccessException(DataAccessException的子類),然後正確的錯誤頁面按預期顯示。
當我拋出一個freemarker.core.InvalidReferenceException或java.lang.NumberFormatException異常泡沫通過頁面和默認的500錯誤頁面(即沒有樣式)顯示。
下面是我使用的映射。
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="org.springframework.dao.DataAccessException">/general/error/500</prop>
<prop key="freemarker.core.InvalidReferenceException">/general/error/500</prop>
<prop key="NumberFormatException">/general/error/500</prop>
</props>
</property>
<property name="defaultErrorView" value="/general/error/500" />
</bean>
我至少期望默認的錯誤視圖來獲取異常,並顯示我的具體錯誤頁面,但沒有發生。
我在這裏正確使用SimpleMappingExceptionHandler嗎?
我正在使用碼頭。
我意識到SMER不會處理渲染過程中拋出的錯誤,這就解釋了爲什麼它無法捕捉到我特別遇到的錯誤。 SMER能否應付500種風格錯誤?
這真的是很好的建議 - 謝謝 – Rachel 2010-06-08 10:16:24