less than 1 minute read

RequestParam

  • 스프링이 제공하는 @RequestParam 을 사용하면 요청 파라미터를 매우 편리하게 사용할 수 있다.
  • String , int , Integer 등의 단순 타입이면 @RequestParam 도 생략 가능 (단, 변수명은 일치해야함)
/**
* @RequestParam 사용
* String, int 등의 단순 타입이면 @RequestParam 도 생략 가능 */
    @ResponseBody
    @RequestMapping("/request-param-v4")
    public String requestParamV4(String username, int age) {
        log.info("username={}, age={}", username, age);
        return "ok";
    }

Model, ModelAndView 차이점

  • Model 객체를 파라미터로 받아서 데이터를 뷰로 넘길 수 있다.
  • model.addAttribute(“변수이름”, “변수에 넣을 데이터 값”)
    • model.addAttribute를 이용해서, 넘길 데이터의 이름과 값을 넣는다.
    • 해당 URL로 접근 시 화면에 model에 등록해둔 addAttribute 값이 표시된다.
@RequestMapping("/board/view") 
public String view(Model model) { 
    // 데이터만 설정이 가능 
    model.addAttribute("id", "test"); 
    return "board/view"; 
}
  • ModelAndView를 쓸 때는 mv.setViewName(“뷰의 경로”); 로 뷰의 경로를 기입하고
  • 데이터를 보낼 때는 mv.addObject(“변수 이름”, “데이터 값”); 를 사용한다.
@RequestMapping("/board/content") 
public ModelAndView content() { 
    // 데이터와 뷰를 동시에 설정이 가능 
    ModelAndView mv = new ModelAndView(); mv.setViewName("/board/content"); // 뷰의 이름 
    mv.addObject("data", "12341234"); // 뷰로 보낼 데이터 값 
    return mv; 
}

attribute 와 parameter 차이

  • parameter는 브라우저(client)에서 만들어진 정보이고, attribute는 servlet(server)에서 만들어진 정보이다.

출처

  • Model, ModelAndView 에서는 이 글을 참고했습니다.

Categories:

Updated: