在过去的WEB开发中,前后台传值大体分为两种方式
1)利用模板技术(如jsp)渲染页面.
这种方式的好处是渲染由服务器完成.减轻了客户端的压力,
缺点是标签替换往往不够灵活只能完成少量的简单替换(如 逻辑判断,遍历),同时前后端分离不够.
2)直接返回html页面之后,用ajax获取数据.然后渲染dom.
这样做的优点是前后端分离,而且用Js代码处理数据比标签灵活.
缺点是ajax的异步特性决定,渲染dom的代码只能写在回调函数中.甚至可能存在ajax请求的回调函数中,发起另一次ajax请求的情况.
同时必须维护大量的Controller方法.综上,导致代码膨胀
我今天介绍的方式是
将需要渲染的数据用 Json.fromObject(data),方式转换成Json字符串,
用模板引擎将json字符串打印在js片段的一个变量里
然后在前台利用$.parseJson()方式将json字符串还原成Js对象.之后还是用js代码处理数据.
这种方式可以说即保留了模板方式的一次请求的优良特性,又可以利用Js代码处理数据的便利性.
同时也可以满足前后端分离. 在话费系统制作报表页面的时候,我就是利用这样的传值方式完成的.