這個問題有點舊,但我有同樣的問題(這個問題在Google上出現得相當高;-))。因此,這裏是我做過什麼: 我加入了follwing到我的applicationContext.xml:
<bean id="defaultExceptionHandlerTemplate" class="org.springframework.web.portlet.handler.SimpleMappingExceptionResolver" abstract="true">
<property name="defaultErrorView" value="error/error-exception-default" />
<property name="exceptionMappings">
<props>
<prop key="org.springframework.web.portlet.bind.MissingPortletRequestParameterException">
error/error-missing-parameter
</prop>
</props>
</property>
</bean>
<bean id="defaultExceptionHandler" parent="defaultExceptionHandlerTemplate" />
錯誤/錯誤缺少參數是一個觀點,即是要顯示的名稱。 Spring會自動將異常發佈到視圖中,默認情況下調用變量「exception」。在一個典型的JSP設置中,根據您的視圖解析器配置,我將視圖錯誤/錯誤缺失參數映射到/WEB-INF/jsp/error/error-missing-parameter.jsp。該文件可以例如簡單地是這樣的:
<jsp:root version="2.0"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="urn:jsptld:http://java.sun.com/jsp/jstl/core">
<h1>Missing parameter</h1>
<p>Error: The parameter '<c:out value="${exception.parameterName}" />' of type '<c:out value="${exception.parameterType}" />' is missing.</p>
</jsp:root>
屬性「defaultErrorView」映射到一個視圖中的情況下沒有在下面的比賽中exceptionMappings的。如果你不需要這個,你可以跳過這個屬性。