java Spring框架如何避免控制器中的重复代码?
我的大多数控制器都有重复代码,如下所示
@RequestMapping(value = "process1/add.do", method = RequestMethod.POST)
public String add(@ModelAttribute("obj1") @Valid Object1 obj1,
ModelMap modelMap, HttpServletRequest request) {
String tp = request.getParameter("tp");
String co = request.getParameter("co");
String a = request.getParameter("a");
String successUrl = "process2/add.do?tp" + tp + "&co=" + co;
String failureUrl = "process1/list.do?tp" + tp + "&co=" + co;
try {
obj1.setType(tp);
obj1.setCode(co);
obj1.setValue(a);
process1Service.add(obj1, a);
return "redirect:successUrl";
} catch (Exception e) {
return "redirect:failureUrl";
}
}
@RequestMapping(value = "process2/add.do", method = RequestMethod.POST)
public String add(@ModelAttribute("obj2") @Valid Object2 obj2,
ModelMap modelMap, HttpServletRequest request) {
String tp = request.getParameter("tp");
String co = request.getParameter("co");
String successUrl = "process3/add.do?tp" + tp + "&co=" + co;
String failureUrl = "process2/list.do?tp" + tp + "&co=" + co;
try {
obj2.setType(tp);
obj2.setCode(co);
process2Service.add(obj2);
return "redirect:successUrl";
} catch (Exception e) {
return "redirect:failureUrl";
}
}
我在这里省略了get方法,因为很容易猜测它们是怎样的。 关键是,几乎我的post方法甚至get方法都会获得名为“tp”和“co”的url参数。 有什么好办法可以避免写重复的代码吗
共 (0) 个答案