假設我的表單字段映射爲整數,短整型等,並且輸入無效(非數字)。如何在Spring MVC中捕獲/處理類型綁定錯誤
我得到了我的錯誤以下映射在表單提交:
Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Short' for property 'property'; nested exception is java.lang.NumberFormatException: For input string: "a"
我需要顯示自定義的,用戶友好的消息。這不工作對我來說,它永遠不會來到這裏:
@ExceptionHandler(NumberFormatException.class)
public String handleNumberConversion(NumberFormatException nfe)
{
return "error.invalidNumberFormat";
}
的BindException無法正常工作或 - 在方法簽名其實連一個通用的異常將不會被激活。
編輯:第二嘗試:我甚至想這一點,這並不在我的資源包工作,要麼,要麼:
# SpringMVC Error Overrides
typeMismatch.java.lang.NumberFormatException=A NumberFormatException occurred.
typeMismatch.java.lang.Short={0} is an invalid value.
typeMismatch.java.lang.Integer={0} is an invalid value.
此外,我需要從綁定過程中的異常得到一些細節,如正在綁定的字段和當前值,因爲我的自定義錯誤消息顯示此信息。
以及異常處理程序可以在全局或每個控制器分配,您使用的其中兩個的。另外如果你可以發佈你的spring配置來檢查註釋掃描器是否正在設置。 – AntJavaDev
是的,我正在使用 ,並且還有。所有其他註釋的工作和獲得。 –
並且您已將ExceptionHandler方法放入引發異常的控制器中? – AntJavaDev