2011-09-15 55 views

回答

1

如何連接ModelAndViewDefiningException將錯誤發送到我的視圖?

這是一個例外。你扔它!

ModelAndViewDefiningExceptionModelAndView的例外包裝。 Spring框架識別它,捕獲它,從中提取模型並查看名稱,並轉發到將模型暴露給視圖的解析視圖。

... 
if (someBadThingy) { 
    ModelAndView modelAndView = new ModelAndView("errorView"); // "errorView" name resolved to a view by the ViewResolver of your app 
    throw new ModelAndViewDefiningException(modelAndView); 
} 
... 

您可以在處理程序處理期間隨時拋出它。通常,在Controller的代碼中,通常不會拋出異常,因爲Controller請求處理程序方法返回ModelAndView。因此,不要在內部拋出異常,只需返回ModelAndView即可。

但有些情況下,您不能退回ModelAndViewInterceptors就是一個很好的例子,因爲他們的方法是voidboolean返回。如果攔截器內部沒有滿足某些條件,則ModelAndViewDefiningException允許您中斷流程並轉至錯誤視圖。

相關問題