gen*_*ejo 112 controller spring-mvc
返回ModelAndView的方式
@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView list(
@UserAuth UserAuth user,
ModelAndView mav) {
if (!user.isAuthenticated()) {
mav.setViewName("redirect:http://www.test.com/login.jsp");
return mav;
}
mav.setViewName("list");
mav.addObject("articles", listService.getLists());
return mav;
}
Run Code Online (Sandbox Code Playgroud)
返回String的方式
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(
@UserAuth UserAuth user,
Model model) {
if (!user.isAuthenticated()) {
return "redirect:http://www.test.com/login.jsp";
}
model.addAttribute("articles", listService.getLists());
return "list";
}
Run Code Online (Sandbox Code Playgroud)
这些工作相同.哪个更好?有什么区别?
ska*_*man 128
没有更好的方法.两者都完全有效.您选择使用哪一个取决于哪一个更适合您的应用程序 - Spring允许您以任何方式执行此操作.
从历史上看,这两种方法来自不同版本的Spring.该ModelAndView方法是在Spring 2.0之前从控制器返回模型和视图信息的主要方法.现在您可以组合Model参数和String返回值,但旧方法仍然有效.
M S*_*ach 15
我想加我2美分.第二种方法更倾向于面向约定,即开发人员明确提到他的观点是什么,但隐含的返回字符串是视图名称.因此编码较少,可读性和标准性.使用ModelAndView比旧方法好多了
| 归档时间: |
|
| 查看次数: |
88300 次 |
| 最近记录: |