【发布时间】:2018-06-30 19:14:17
【问题描述】:
当修改列为SessionAttribute 的ModelAttribute 时,为什么它不保留其新值?
每次我向下面的示例发出请求时,它都会打印出“初始值。”,这是第一个请求的正确值。但是在第一次请求之后,它的值应该是“新值”。
为什么ModelAttribute 不存储它的值?
我有一个基类。所有扩展它的 servlet:
@SessionAttributes(value = {"test_string", "something"})
public abstract class Base<T>
{
public abstract T request(
@ModelAttribute("test_string") String _test_string,
ModelAndView _mv);
@ModelAttribute("test_string")
private String getTest()
{
return "Initial value.";
}
}
我有一个特定的 servlet:
@Controller
public class InterfaceController extends Base<String>
{
@PostMapping(value = "/interface")
@ResponseBody
@Override
public String request(
@ModelAttribute("test_string") String _test_string,
ModelAndView _mv)
{
System.out.println(_test_string);
_test_string = "new value";
return "whatever content";
}
}
【问题讨论】:
标签: java spring-mvc session modelattribute