我正在研究一个Spring-MVC应用程序,其中有2个部分。它基本上是一个具有两种模式的笔记应用程序,一种是groupMode,另一种是personalMode。现在,它们在后端都有不同的dao,即serviceImpl,但它们位于一个控制器视图中。
我有一个布尔值可以设置,以了解用户当前处于哪种模式,以在特定数据库表中执行CRUD操作。现在,由于两种分组模式都是个人模式,并且处于同一视图中,因此我必须创建自己的方法,以便它们可以接受任何一种模式的对象。即使我在model属性中声明了2,spring是否也仅支持接受一个对象。这是我要实现的示例:
@RequestMapping(value = "/section/add", method = RequestMethod.POST)
public
@ResponseBody
boolean addSection(@ModelAttribute("section") Section section, @ModelAttribute("groupsection") GroupSection groupSection,Model model) {
if(boolean == true){
this.groupSectionService.addGroupSection(groupSection);
model.addAttribute("groupsection", new GroupSection());
} else{
this.sectionService.addSection(section);
model.addAttribute("section", new Section());
}
return true;
}
如果可行,我将始终从前端发送一个对象。非常感谢。任何指针或建议,欢迎。
每当有这样的if
-statement像您的那样“拆分”完整的控制器方法时,我就有一种感觉,应该将一种控制器方法替换为两种方法,每种情况都使用一种。
最简单,最直接的解决方案是使用两个不同的URL。
但是也许您有使用相同URL的某些原因,那么我将拥有两个具有相同URL但params
属性不同的控制器方法@RequestMapping
@RequestMapping(value = "/section/add",
method = RequestMethod.POST
params="createGroupSection=false")
@ResponseBody
public boolean addSection(@ModelAttribute("section") Section section) {...}
@RequestMapping(value = "/section/add",
method = RequestMethod.POST
params="createGroupSection=true")
@ResponseBody
public boolean addGroupSection(@ModelAttribute("section") Section section) {...}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句