大家好我想存储会话对象中的对象列表。 要存储1个obj,我有这个代码:
@Controller
@SessionAttributes("temp")
@RequestMapping(value = "/test")
public class TestController {
@ModelAttribute("temp")
public Temp setObj() {
return new Temp();
}
@RequestMapping(method = RequestMethod.GET)
public String test(Model model) {
model.addAttribute("temp", new Temp());
return "testInput";
}
@RequestMapping()
public String add(@ModelAttribute("temp") Temp temp, Model model) {
model.addAttribute("temp", temp);
return "test";
}
@RequestMapping(value = "/get") // or "/getList" to ensure it works
public String kek(@ModelAttribute("temp") Temp temp, Model model) {
model.addAttribute("temp", temp);
return "test";
}
}
哪里
class Temp implements Serializible {
//constructor fields, methods
}
P.S。存储1个对象工作正常。
但是如何在Session对象中存储List<Temp>
并在控制器中添加额外的Temp
obj?或许我应该使用smth:
class TempList {
private List<Temp> list
//constructor, get/set addToList methods
}
如果是,我如何启动此类并使用tempListObj.addToList(Temp temp)
方法?
答案 0 :(得分:1)
如果您的商店对象与@SessionAttributes注释进行对话,那么您的信息将使您的信息仅在此控制器的范围内可用。如果要将List存储到会话,可以在类级别定义@SessionAttributes({&#34; temp&#34;}),并在任何控制器方法中将其设置为session,如下所示:
model.addAttribute("temp", new ArrayList<Temp>());
然后你可以通过这种方式访问它:
public String someMethod(@ModelAttribute("temp") List<Temp> temp) {...}