下面,您將找到Flash屬性用法的示例,在開始對其進行檢查之前,請閱讀Spring文檔的Using flash properties部分。
假設我們有兩個控制器: AController和BController ,第一個將準備一些數據并在提交表單后使用Flash屬性傳遞給第二個。 在AController上,我們將具有以下內容:
@RequestMapping(method = RequestMethod.POST)
public String handleFormSubmission(..., final RedirectAttributes redirectAttrs) {...redirectAttrs.addFlashAttribute("AttributeName", value);return "redirect:to_some_url_handled_by_BController";
}
提交表單后,屬性值將存儲為名為“ AttributeName”的Flash屬性 ,由于使用了Spring,該屬性值將傳遞給BController ,在其中可以通過以下方式使用它:
@Controller
...
@SessionAttributes("AttributeName")
public class SearchCriteriaHandler {...@RequestMapping(method = RequestMethod.GET)public void handleGetRequest(@ModelAttribute("AttributeName") final SomeType value) {...}...
}
之前你的處理方法會被調用, Spring框架將填充與現有的Flash中的模型屬性 -從AController過了這個點值將成為BController一個模型屬性。 請注意,由于我們還將此屬性定義為Session Attribute ,因此在處理GET請求之后,它將自動存儲該控制器以供將來使用。
我說我已經等了很長時間了;;)
相關文章: Spring MVC –會話屬性處理
參考: Spring MVC –來自我們JCG合作伙伴的 Flash屬性 ? Micha? 術士思想博客上的Ja?tak。
翻譯自: https://www.javacodegeeks.com/2012/02/spring-mvc-flash-attributes.html