> Java > java지도 시간 > 본문

지원 객체 없이 Ajax를 사용하여 Spring MVC 컨트롤러에 여러 변수를 전달하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-15 13:32:03
원래의
343명이 탐색했습니다.

How to Pass Multiple Variables to a Spring MVC Controller Using Ajax Without a Backing Object?

Ajax를 사용하여 Spring MVC 컨트롤러에 여러 변수 전달

@RequestBody를 사용하여 Spring MVC 컨트롤러에 여러 변수를 전달하는 경우는 다음과 같습니다. 이를 백업 객체로 래핑할 필요는 없습니다. 그러나 더 많은 유연성을 제공하거나 JSON 데이터 처리를 단순화할 수 있는 대체 접근 방식이 있습니다.

옵션 1: 지도 사용

강하게 요구하지 않는 경우- 유형화된 매개변수의 경우 Map을 사용할 수 있습니다. JSON 데이터를 직접 수신하는 객체입니다. 이를 통해 키로 값에 액세스할 수 있습니다.

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody Map<String, String> json) {
   //json.get("str1") == "test one"
}
로그인 후 복사

이 접근 방식에는 사용자 정의 지원 객체가 필요하지 않으며 임의의 키로 JSON 데이터를 처리할 수 있습니다.

옵션 2: Jackson의 ObjectNode 사용

더 많은 유연성을 위해 바인딩할 수 있습니다. com.fasterxml.jackson.databind.node.ObjectNode를 사용하여 전체 JSON 트리로 JSON 데이터에 액세스:

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody ObjectNode json) {
   //json.get("str1").asText() == "test one"
}
로그인 후 복사

이 접근 방식을 사용하면 JSON 데이터를 동적으로 처리하고 JSON 경로를 기반으로 값을 추출할 수 있습니다.

기타 고려 사항:

  • 강력한 형식의 경우 매개변수가 필요한 경우 사용자 정의 POJO를 생성하여 예상 JSON 구조를 나타내고 @RequestBody를 사용하여 이에 바인딩할 수 있습니다.
  • 간단한 경우에는 쿼리 문자열에 @RequestParam을 사용하거나 요청 URI에 @PathVariable을 사용할 수 있습니다. 개별 변수 전달이 더욱 편리해졌습니다.

위 내용은 지원 객체 없이 Ajax를 사용하여 Spring MVC 컨트롤러에 여러 변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿