복붙노트

[SPRING] 봄 MVC 게시물 요청

SPRING

봄 MVC 게시물 요청

나는 뭔가를 가지고있다.

@RequestMapping("/property")
@ResponseBody
public String property(@RequestBody UserDto userDto ) {

    System.out.println(userDto.getUsername());
    System.out.println(userDto.getPassword());

    return "Hello";
}

내 컨트롤러에.

하지만 게시 할 때 오류가 발생합니다.

<form method="post" action="http://localhost:8080/home/property">

    <input name="username"/>
    <input name="password"/>
    <input type="submit"/>
</form>

내 HTML에. 나는 어디가 잘못 됐어.

해결법

  1. ==============================

    1.양식을 게시 할 때 @ModelAttribute 주석을 사용해야합니다.

    양식을 게시 할 때 @ModelAttribute 주석을 사용해야합니다.

    코드를 다음으로 변경하십시오.

    @RequestMapping("/property")
    @ResponseBody
    public String property(@ModelAttribute("userDto") UserDto userDto ) {
        System.out.println(userDto.getUsername());
        System.out.println(userDto.getPassword());
        return "Hello";
    }
    

    그리고 귀하의 HTML / JSP는 다음과 같습니다 :

    <form method="post" name="userDto" action="http://localhost:8080/home/property">
        <input name="username"/>
        <input name="password"/>
        <input type="submit"/>
    </form>
    
  2. ==============================

    2.요청 본문은 JSON 또는 XML 객체 (또는 byte []와 같은 원시 데이터)를 HTTP POST에 전달할 때 사용됩니다. 양식 데이터를 게시 할 때 처리되고 파싱됩니다. 가장 간단한 방법은 MVC 형식을 사용하는 것입니다. 명령 개체와 함께 양식 코드를 작성하면 개체에 매핑 된 양식의 모든 항목이 포함 된 명령 개체를 받게됩니다.

    요청 본문은 JSON 또는 XML 객체 (또는 byte []와 같은 원시 데이터)를 HTTP POST에 전달할 때 사용됩니다. 양식 데이터를 게시 할 때 처리되고 파싱됩니다. 가장 간단한 방법은 MVC 형식을 사용하는 것입니다. 명령 개체와 함께 양식 코드를 작성하면 개체에 매핑 된 양식의 모든 항목이 포함 된 명령 개체를 받게됩니다.

  3. ==============================

    3.요청 매핑 기본 메소드는 GET입니다. RequestMapping으로 url 메소드를 지정해야합니다.

    요청 매핑 기본 메소드는 GET입니다. RequestMapping으로 url 메소드를 지정해야합니다.

    @RequestMapping(value="/property",method=RequestMethod.POST)
    
  4. ==============================

    4.http 오류 500이 발생하는 경우 그런 다음 사용 해보십시오.

    http 오류 500이 발생하는 경우 그런 다음 사용 해보십시오.

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

    다른 오류가 있으면 지정하십시오.

  5. ==============================

    5.한 가지 방법은 Jeevan이 제안한 것입니다. 또는 스프링을 수정할 수 있습니다.

    한 가지 방법은 Jeevan이 제안한 것입니다. 또는 스프링을 수정할 수 있습니다.

    UserDto userDto;
    @RequestMapping("/property")
    @ResponseBody
    public String property(@RequestParam("username") userDto.username,  @RequestParam("password") userDto.password) {
    
        System.out.println(userDto.getUsername());
        System.out.println(userDto.getPassword());
    
        return "Hello";
    }
    

    클래스에서 속성을 노출했다면 당연한 일입니다.

  6. from https://stackoverflow.com/questions/20515171/spring-mvc-post-request by cc-by-sa and MIT license