尽管使用 @ResponseBody 成功实现了 Java 到 JSON 数据传输,但实现其反向路径仍然很困难。难以捉摸。本文深入探讨了使用 @RequestBody 将 JSON 序列化回 Java 对象的解决方案。
为了确保无缝体验,请确保满足以下条件:
为了说明解决方案,请考虑以下示例:
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) { ... } }
请求(POST 请求的 POJO):
public class Request { private int left; private int right; ... }
结果(序列化响应的 POJO):
public class Result { private int addition; private int subtraction; private int multiplication; ... }
执行命令 mvn jetty:run 并发送以下 POST 请求:
您应该收到的响应:
{"addition":20,"subtraction":6,"multiplication":91}
这演示了使用 @RequestBody 在 JSON 和 Java 之间进行双向数据传输。
以上是如何使用 Spring MVC 和 jQuery 双向传输 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!