ホームページ  >  記事  >  Java  >  Spring MVC と jQuery を使用して JSON データを双方向に転送するにはどうすればよいですか?

Spring MVC と jQuery を使用して JSON データを双方向に転送するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-21 00:44:18960ブラウズ

How to Bidirectionally Transfer JSON Data with Spring MVC and jQuery?

JQuery、Spring MVC、JSON を使用した双方向データ転送への取り組み

@ResponseBody を使用した Java から JSON へのデータ転送の実現には成功しましたが、その逆パスの実装は依然として困難です。とらえどころのない。この記事では、@RequestBody を使用して JSON をシリアル化して Java オブジェクトに戻すソリューションについて詳しく説明します。

成功の前提条件

シームレスなエクスペリエンスを確保するには、次のことを確認してください。

  • 適切な Jackson 構成: MappingJacksonHttpMessageConverter であることを確認します。登録されます。通常は を通じて実現されます。 XML の場合、または Java の @EnableWebMvc です。

包括的な例

ソリューションを説明するために、次の例を考えてみましょう。以下:

web.xml:

<servlet>
  <servlet-name>json</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>json</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

json-servlet.xml:

<beans>
  <import resource="classpath:mvc-context.xml" />
</beans>

mvc-context.xml:

<beans>
  <mvc:annotation-driven />
  <context:component-scan base-package="test.json" />
</beans>

TestController (コントローラークラス):

@Controller
@RequestMapping("/test")
public class TestController {

  @RequestMapping(method = RequestMethod.POST, value = "math")
  @ResponseBody
  public Result math(@RequestBody final Request request) {
    ...
  }

}

Request (POST リクエストの場合は POJO):

public class Request {
  private int left;
  private int right;
  ...
}

Result (シリアル化された応答の場合は POJO) :

public class Result {
  private int addition;
  private int subtraction;
  private int multiplication;
  ...
}

をテストしています解決策

コマンド mvnjetty:run を実行し、次の POST リクエストを送信します。

  • URL: http://localhost:8080/test/math
  • MIMEタイプ: application/json
  • ポストボディ: { "left": 13, "right" : 7 }

受信する応答:

{"addition":20,"subtraction":6,"multiplication":91}

これは、@RequestBody を使用した JSON と Java 間の双方向データ転送を示しています。

以上がSpring MVC と jQuery を使用して JSON データを双方向に転送するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。