首頁 > Java > java教程 > 如何整合 JQuery、Spring MVC 的 @RequestBody 和 JSON 進行雙向序列化?

如何整合 JQuery、Spring MVC 的 @RequestBody 和 JSON 進行雙向序列化?

Barbara Streisand
發布: 2024-12-05 20:32:10
原創
618 人瀏覽過

How to Integrate JQuery, Spring MVC's @RequestBody, and JSON for Bidirectional Serialization?

JQuery、Spring MVC @RequestBody 和JSON – 讓它們一起工作

雖然將Java 物件序列化為JSON 以供JQuery 使用可能很簡單,但相反的路徑- 解析JSON 並將其轉換為Java 物件—可能會帶來挑戰。本文將引導您完成實現雙向序列化所需的步驟。

問題:使用 @RequestBody 將 JSON 轉換為 Java

使用 Spring MVC @RequestBody 將 JSON 反序列化為 Java 對象,必須註冊 MappingJacksonHttpMessageConverter。雖然這可以手動完成,但最簡單的方法是使用 XML 或 Java 中的 @EnableWebMvc。

工作範例

考慮以下範例,它展示了雙向JSON 序列化的完整解決方案:

Maven POM

<!-- Spring MVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>
<!-- Jackson -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.4.2</version>
</dependency>
登入後複製

Servlet映射

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

#### Spring Bean Configuration
登入後複製

<import resource="classpath:mvc-context.xml" />
登入後複製

#### `mvc-context.xml`
登入後複製

<mvc:annotation-driven />
<context:component-scan base-package="test.json" />
登入後複製

#### Controller
登入後複製

@Controller
@RequestMapping("/test")
公共類別TestController {

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

}

#### Domain Objects
登入後複製

公開課請求{

// ... fields and getters/setters ...
登入後複製
登入後複製

}

公開課結果{}

// ... fields and getters/setters ...
登入後複製
登入後複製

網址: http://localhost:8080/test/math
#### Testing the Setup

Using the Poster Firefox plugin, send a POST request to the following URL:
登入後複製
mime 類型:application/json

貼文正文:{ "left": 13 , "right" : 7 }

{"加法":20,"減法":6,"乘法":91}
#### Expected Response
登入後複製

以上是如何整合 JQuery、Spring MVC 的 @RequestBody 和 JSON 進行雙向序列化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板