La manière de retourner 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;
}
La manière de retourner 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";
}
Celles-ci fonctionnent de la même manière. quel est le meilleur moyen? et quelle est la différence?
spring-mvc
controller
Gentlejo
la source
la source
Je voudrais également m'ajouter 2 cents. La deuxième approche est plus orientée vers les conventions, c'est-à-dire que le développeur mentionne explicitement quelle est sa vue, mais il est implicite que la chaîne de retour est le nom de la vue. Donc moins de codage, lisible et standard. Bien mieux que l'ancienne avec ModelAndView
la source