在春季MVC,我有一个
@RequestMapping
接收复杂对象作为
@ModelAttribute
对象来自HTML输入表单。但是现在我还有另一个用例,我需要在会话中保留最后一个提交的对象,直到下一次提交表单。
所以,我也宣布
@SessionAttributes
代码:
@SessionAttributes("searchRequestDto")
...
@RequestMapping(value = "/test")
public String search(@ModelAttribute SearchRequestDto searchRequestDto, HttpServletRequest request, Model model) {
...
不幸的是,现在
searchRequestDto
TL;博士:
如何声明参数以便表单中的值自动存储并在会话中可用?
该网站有一个复杂的搜索表单(类似于机票或酒店搜索,您必须输入城市、日期、服务类别等)。无论用户何时返回搜索表单,在之前提交了搜索表单之后,无论是下一个页面点击,还是“N”页面点击数或“X”小时数,都应在表单中预先填写他们最后的搜索输入。我不认为这是flashAttribute的一个用例,在第一个答案中提出。