spring 파라미터 바인딩 질문


@RequestMapping(value="/read", method = RequestMethod.GET)
    public void read(Model model,@RequestParam("bno") int bno)throws Exception{

        logger.info("read호출");
        model.addAttribute(service.read(bno));
    }

    @RequestMapping(value="/modify", method = RequestMethod.GET)
    public void updateGET(Model model, int bno)throws Exception{

        logger.info("modify페이지 호출");
        model.addAttribute(service.read(bno));
    }

@RequestMapping(value="/modify", method = RequestMethod.POST)
    public String updatePOST(Model model, BoardVO vo)throws Exception{

        logger.info("modify기능 실행");
        service.update(vo);
        return "redirect:/board/listAll";
    }

@RequestMapping(value="/read", method = RequestMethod.GET)
    public void read(@RequestParam("bno") int bno, 
            @ModelAttribute("cri")Criteria cri,
            Model model)
    throws Exception{

        model.addAttribute(service.read(bno));
    }

게시판 crud연습중입니다 사용자가 보낸데이터를 서버에서 받아서 데이터 자료형에 맞게 변환해주어야 하는데 책을 보니 어떤건 @RequestParam 으로 변환해주고 굳이 어노테이션 안써도 int로 써도 되는게잇네요 객체도 마찬가지로여 이게 장단점이 있는건가요 아니면 스프링 버전이 올라가면서 생략이되서 그런건가요?

  • 2016년 02월 22일에 작성됨

조회수 411


1 답변


좋아요
1
싫어요
채택취소하기

RequestParam어노테이션을 이용하면, 파라미터에 대한 다양한 처리를 할 수 있습니다.

@RequestParam(value="flag", required=true) String flag

파라미터 이름이 "flag"이고 반드시 와야한다는 것을 의미합니다. 해당 파라미터의 값은 flag변수에 저장이됩니다.

@RequestParam(value="pageNo", required=false, defaultValue="1") int pageNo

위와 같이 선언하는 것은 파라미터 이름이 "pageNo"이고 반드시 와야한다는 것을 의미합니다. 만약 파라미터가 전달되지 않으면 기본값으로 1이 사용됩니다. 해당 파라미터의 값은 flag변수에 저장이됩니다.

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestParam.html

를 참고하시면 더 좋을 것 같습니다.

  • 2016년 02월 27일에 작성됨
    실무에선 UML을 이용한 분석/설계, 자바 프로그래밍을 하고 있고, 자바교육, 파이썬, node.js(javascript) 등을 관심을 가지고 공부하고 사용하려고 노력중입니다.

  • 감사합니다^^    오후   2016.2.27 14:53     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close