[SPRING] 메서드 봄에 게시물 mvc에서 param을 얻는 방법?
SPRING메서드 봄에 게시물 mvc에서 param을 얻는 방법?
나는 봄 MVC를 사용하고있다. 그리고 method = post 일 때 url에서 param을 얻을 수 없습니다. 그러나 메소드를 GET으로 변경하면 모든 매개 변수를 가져올 수 있습니다.
이것은 내 양식입니다.
<form method="POST" action="http://localhost:8080/cms/customer/create_customer" id="frmRegister" name ="frmRegister" enctype="multipart/form-data">
<input class ="iptRegister" type="text" id="txtEmail" name="txtEmail" value="" />
<input class ="iptRegister" type="password" id="txtPassword" name="txtPassword" value="" />
<input class ="iptRegister" type="text" id="txtPhone" name="txtPhone" value="" />
<input type="button" id="btnRegister" name="btnRegister" value="Register" onclick="" style="cursor:pointer"/>
</form>
이것은 내 컨트롤러입니다.
@RequestMapping(value= "/create_customer", method = RequestMethod.POST)
@ResponseBody
public String createCustomer(HttpServletRequest request,
@RequestParam(value="txtEmail", required=false) String email,
@RequestParam(value="txtPassword", required=false) String password,
@RequestParam(value="txtPhone", required=false) String phone){
ResultDTO<String> rs = new ResultDTO<String>();
rs.setStatus(IConfig.SHOW_RESULT_SUCCESS_ON_MAIN_SCREEN);
try{
Customer c = new Customer();
c.setEmail(email);
c.setPassword(password);
c.setPhone(phone);
customerService.insert(c);
rs.setData("Insert success");
}catch(Exception ex){
log.error(ex);
rs.setStatus(IConfig.SHOW_RESULT_ERROR_ON_MAIN_SCREEN);
rs.setData("Insert failure");
}
return rs.toString();
}
이 문제를 어떻게 해결할 수 있습니까?
해결법
-
==============================
1.Spring 문서를 참조하십시오.
Spring 문서를 참조하십시오.
-
==============================
2.콘텐츠 유형을 변경하면 작동합니다.
콘텐츠 유형을 변경하면 작동합니다.
<form method="POST" action="http://localhost:8080/cms/customer/create_customer" id="frmRegister" name="frmRegister" enctype="application/x-www-form-urlencoded">
컨트롤러에서 다음과 같이 헤더 값을 추가하십시오.
@RequestMapping(value = "/create_customer", method = RequestMethod.POST, headers = "Content-Type=application/x-www-form-urlencoded")
-
==============================
3.아래 코드를 사용하여 모든 POST 매개 변수를 가져 오려면,
아래 코드를 사용하여 모든 POST 매개 변수를 가져 오려면,
@RequestMapping(value = "/", method = RequestMethod.POST) public ViewForResponseClass update(@RequestBody AClass anObject) { // Source.. }
@RequestParam 대신 GET 매개 변수를 읽는 대신 POST 요청 / put / 삭제에 @RequestBody 주석을 사용하고 있습니다.
-
==============================
4.method = RequestMethod.GET 인 리소스에 @RequestParam을 사용해야합니다.
method = RequestMethod.GET 인 리소스에 @RequestParam을 사용해야합니다.
매개 변수를 게시하려면 요청 본문으로 매개 변수를 보내야합니다. JSON 또는 다른 데이터 표현과 같은 본문은 구현에 따라 다릅니다 (즉, MediaType을 소비하고 생성 함).
일반적으로 파일을 업로드하는 데 multipart / form-data가 사용됩니다.
from https://stackoverflow.com/questions/17964841/how-to-get-param-in-method-post-spring-mvc by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JSON을 사용하여 중첩 된 객체를 Spring MVC 컨트롤러에 게시 (0) | 2018.12.14 |
---|---|
[SPRING] Spring 캐시 @ 동일한 클래스에서 호출 할 때 캐시 가능한 메소드가 무시됩니다. (0) | 2018.12.14 |
[SPRING] Spring 3.0.5에서 매개 변수 바인딩이 쉼표를 해석하지 못하게하는 방법은 무엇입니까? (0) | 2018.12.14 |
[SPRING] 스프링 부트에서 모든 데이터베이스 관련 자동 구성 해제 (0) | 2018.12.14 |
[SPRING] 봄철 테스트에서 범위가 지정된 콩을 요청하십시오. (0) | 2018.12.14 |