我在同一页面上同时拥有表单和结果表。该页面由单个@Controller支持。
当用户访问页面(GET)时,我将属性存储在会话范围中,以便在表单提交后可用(我在POST上重新加载页面)。
当用户离开此页面时,我需要以某种方式删除会话范围的属性。
春天3 mvc有办法处理离开我页面的请求吗?
答案 0 :(得分:1)
您可以使用@Scope
注释将范围提供给控制器。
@Controller(value="mycontroller")
@Scope("session")
@RequestMapping("/hello")
public class HelloController
{
int count = 0;
public ModelAndView printHello(HttpServletRequest request) {
count++;
ModelAndView mymodelview = new ModelAndView("success");
mymodelview.addObject(`enter code here`"count", count);
}
}
如果范围是请求(@Scope("request")
),则每次count的值为1时,就好像范围是session,然后对于特定会话,计数值将增加1。
答案 1 :(得分:0)
如果它只是POST,那么您不需要将它们存储在会话中。
您可以在get方法model.addAttribute("bean", BeanClass);
中设置模型
然后当你发布页面时,你将拥有那个bean类:
> public String postMethod(@ModelAttribute("bean") BeanClass
> bean, BindingResult result, Model model, HttpServletRequest request)
> throws Exception {
> //...
> }