jsp에는 메서드 action = "POST"가 있습니다. 처음에는이 jsp가 URL에서 쿼리 문자열 param1 = paramValue1을 사용하여 컨트롤러 (스프링)를 통해 호출됩니다. (예 : /thisJsp.jsp?param1=paramValue1). Spring은 GET 메서드를 사용하여 쿼리 매개 변수를 읽습니다.양식 필드 대신 쿼리 매개 변수를 읽는 POST 메서드
나중에 숨겨진 양식 입력란 $ ('# param1') .val (paramValue2)을 설정하여 자바 스크립트를 submit() 할 것입니다.
내 문제는 Controller로 돌아가서 method 액션이 POST이지만, request.getParameter ("param1")을 수행 할 때 을 등록하면 항상 paramValue1을 반환합니다.
Fiddler를 사용하면 param1 = paramValue2가 등록되어 submit()에서 설정된다는 것을 알 수 있습니다.
무엇이 누락 되었습니까?
나는 2.0.7
컨트롤러에서 : request.getMethod()는 POST를 반영하고 request.getParameterValues는 [0] = paramValue1 [1] = paramValue2 ... 항목으로 돌아갑니다. 그러나 POST가 여전히 [0] 항목을 반환하는 이유는 무엇입니까? – user1346699
param1 = paramValue1을 포함하는 쿼리 문자열로 URL에 게시 중이기 때문에. 따라서 param은 두 번 지정됩니다. 한 번은 쿼리 문자열에, 한 번은 게시물 본문에 지정됩니다. 서버는이 두 값을 모두 읽습니다. 폼의 "action"속성을 쿼리 문자열없이 컨트롤러의 URL로 설정하면 모두 설정해야합니다. 덕분에 jfrank. – jfrank
"action"속성을 설정하면 해결되었습니다. – user1346699