在方法上使用@ModelAttributeapp
@ModelAttribute註解能夠使用在方法或方法的參數上。spa
@ModelAttribute註解代表方法的目的是添加一個或多個model屬性。這樣的方法和@RequestMapping方法支持一樣類型的參數,可是不能被直接映射給請求。在控制器中@ModelAttribute方法在@RequestMapping方法以前執行。對象
@ModelAttribute方法用普通必須屬性填充model,好比使用國家、寵物類型或回收一個相似於表明HTML表單數據的Account的command對象來填充drop-dwon。class
@ModelAttribute方法有兩種模式。首先是方法添加屬性並隱式的返回,其次,方法接收一個Model並向其中添加多個model屬性。兩種模式能夠根據須要選擇。表單
一個控制器能夠有多個@ModelAttribute方法。全部這些方法都在@RequestMapping方法以前被執行。搜索
@ModelAttribute方法還能夠定義在一個@ControllerAdvice-annotated類中並做用於全部的控制器。@ControllerAdvice註解是一個組件註解,容許實現類經過classpath搜索自動加載。model
@ModelAttribute註解一樣能夠用在@RequestMapping方法上。這種狀況下@RequestMapping方法的返回值將被解釋爲一個model屬性而不是view的名字。view名字有view名約定得出,方法至關於無返回類型。請求