600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > ajax后台如何把对象转为json_SM后台数据与前端(PC M站 Android IOS)的交互——页面渲染...

ajax后台如何把对象转为json_SM后台数据与前端(PC M站 Android IOS)的交互——页面渲染...

时间:2021-09-06 12:34:06

相关推荐

ajax后台如何把对象转为json_SM后台数据与前端(PC M站 Android IOS)的交互——页面渲染...

一、介绍

对于后台服务器开发者来说,更多的是处理客户端发过来的请求和业务逻辑,很少会有人考虑页面的渲染问题。

以前的大部分后台开发人员最多也就是在 jsp 页面或者其他视图渲染框架来渲染PC端的页面,而对于其他的客户端,他们经常无能为力。如果PC端不是采用前后端分离的架构,是采用 jsp 或者其他视图框架来渲染页面(所谓的单体应用),后台开发人员就要对相同的请求处理两次(一份数据传给PC端用,一份数据返回给其他客户端用(Android、IOS、M站)),这样就显得有点麻烦,具体情况看下面代码。

二、用Jstl来渲染视图

(1)、后台Controller处理代码

(2)、jstl渲染视图页面

对于使用这种方式渲染页面,如果仅仅存在PC端,这种方法没有问题。但如果对于Android和IOS客户端,与它们进行数据交换的最好方式是用 json,所以刚刚上面的Controller并不合适,还要重新再写一个返回 json 字符串的方法。

三、使用json来实现数据格式的统一

(1)、后台Controller处理代码

此处使用@ResponseBody注解,该注解可以将对象自动转为json字符串,但需要jackson包的支持,如果不添加jackson包,则会报如下错误:

maven工程可以在pom.xml文件中添加如下依赖:

再次请求结果,会返回json字符串,如下图所示:

但这样直接将一个对象进行json字符串返回并不是一个很好的办法,因为数据结构可能会变动,而且对数据的增删改查的结果也无从知晓,所以,最好对返回对象进行一次数据的封装,封装成统一的数据格式,如下所示:

Controller中的方法改为如下:

封装完后的json格式为如下,具有通用性:

(2)、ajax渲染视图页面

页面采用ajax方式发送请求,并用解析数据:

这种方式的好处就是,后台可以用统一的 json 结构和PC端、客户端进行数据的交互,但本文中,PC端对ajax获取得到的数据只是用简单的dom操作进行页面渲染,现在很少用这种方式来处理数据,有兴趣的话可以查看前端的模板引擎。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。