흰발
148
2019-01-08 17:21:11
11
901

스프링 컨트롤러 질문입니다


    @RequestMapping(value="/join.do", method=RequestMethod.POST)

    public String join(User user){

       userService.insertUser(user);

        return "index";

    }

User가 DTO인데 저렇게되면 POST들어오는 값들이 알아서 DTO에있는 setter에 적용되서 값이들어가는건가요? print 찍어보니까 값들어오는건 확인되는데 DTO에 매핑이안되서요

그리고 어떤부분때문에 자동으로 값들이 DTO에 매핑되는건지도 궁금해요

0
  • 답변 11

  • 아이러니y
    1k
    2019-01-08 17:35:46

    @ModelAttribute 추가해보세요~

  • 흰발
    148
    2019-01-08 17:43:36

    @아이러니y 

        @RequestMapping(value="/join.do", method=RequestMethod.POST)

        public String join(@ModelAttribute User user){

         userService.insertUser(user);

            return "index";

        }

    이렇게 해보란 말씀이신가요? 결과가 같아요..ㅜㅜ

  • 스우
    148
    2019-01-08 17:44:58

    public String join(@ModelAttribute("폼이름") User user)

  • 흰발
    148
    2019-01-08 17:51:06 작성 2019-01-08 17:51:46 수정됨

    @스우

    폼이름이 jsp에 form태그 name값 말씀하시는거죠? 그래도 매핑이 안되네요..ㅜㅜ 답변 감사합니다!

  • 스우
    148
    2019-01-08 18:00:45

    스프링 폼태그 써도 안되시나요?

    <form:form name="이름" modelAttribute="매핑이름" method="POST", action="/join.do">

    @ModelAttribute("매핑이름") User user

  • asd
    16k
    2019-01-08 18:03:29 작성 2019-01-08 18:03:54 수정됨

    User에다가 @RequestBody 적용해보세요

    public String join(@RequestBody User user)

  • 흰발
    148
    2019-01-08 18:11:30 작성 2019-01-08 18:15:12 수정됨

    @스우 네.. 그렇게 하니까 modelAttribute jsp쪽에서 정의되지않은 attribute라고 뜨구 그냥 저장해서 해봤는데도 안되네요

  • 흰발
    148
    2019-01-08 18:12:16 작성 2019-01-08 18:15:16 수정됨

    @LichKing

    @RequestBody 적용하니까 HTTP 415 에러 뜨네요

  • 흰발
    148
    2019-01-08 18:22:24

    해결했습니다 와..ㅜㅜ 진짜 오늘 하루종일 했는데 진짜 별거 아닌 이유였어요 DTO부분에 setter getter 설정을 잘못했던거같아요 다들 답변 너무 감사합니다 ㅜㅜ 근데 modelAttribute 설정안해도 자동으로 매핑 잘되는것 같은데 어떤요소때문에 그런지 알수있을까요? @RequestMapping에 그런 기능까지 있는건가요?

  • 아이러니y
    1k
    2019-01-09 10:14:31

    @흰발


    ModelAttribute가 생략되어있을뿐이지 저기에 같이 선언되어있는거나 다름이 없습니다.ㅎㅎ


    그리고 getter setter는 왠만하면 툴 이용해서 자동으로 생성하세요~

  • 흰발
    148
    2019-01-09 12:02:34

    @아이러니y

    설명 감사합니다 ㅎㅎ

    getter setter 지우구 툴 이용해서 생성하니까 해결이되더라구요 너무 감사합니다

  • 로그인을 하시면 답변 을 등록할 수 있습니다.