2014-06-09 3 views
1

안녕하세요, 저는 Spring MVC 4.0.2를 사용하고 있습니다. 내 controller 방법을 개발하는 동안 나는 조금 혼란 스럽다. 아래에 주어진 것과 같이 두 가지 유형의 다른 메소드 서명을 사용하여 동일한 결과를 얻을 수 있습니다.
1
Spring MVC 컨트롤러 메소드 서명에 대한 혼동

@RequestMapping(value = "/login", method = RequestMethod.GET) 
public String login(ModelMap model) 
{ 
     model.addAttribute("user","Admin"); 
     return "home"; 
} 

2

@RequestMapping(value = "/login", method = RequestMethod.GET) 
public ModelAndView login() 
{ 
     ModelAndView model = new ModelAndView(); 
     model.addObject("user","Admin"); 
     model.setViewName("home"); 
     return model; 
} 

이제 혼란이 두 가지 방법 사이에 다른 무엇이다? 어느 것을 사용해야합니까? String 또는 ModelAndView을 반환하는 데있어 장점/단점이 있습니까? 도와주세요. 감사.

답변

1

ModelAndView에는 모델과 뷰 이름이 모두 포함되어 있으며 ModelMap에는 모델에 대한 정보 만 들어 있습니다. ModelAndView를 반환하는 것이 더 적절하고 내 의견으로는 더 깨끗해 보입니다. 또한 한 가지 방법으로 여러 개의 뷰를 지정할 수 있지만 실제로는별로 유용하지 않습니다.

관련 문제