12.1 spring mvc 框架处理json数据
json 格式数据在现阶段web项目开发中扮演者非常重要的角色。在前端页面后后台交互的过程中,需要一种格式清晰、高效且两端都可以轻松使用的数据格式做交互的媒介,json正可以满足这一需求,下面学习使用spring mvc 框架处理json数据。
12.1.1 json 数据的传递处理
步骤1:修改控制层
控制层返回的json类型数据其实就是一个特殊格式的字符串,为了方便、高效的处理json数据,需要引入一个处理json类型数据的jar包——fastjson-1.2.31.jar,此包是阿里巴巴提供的一个处理json数据的开源工具,以高效著称。
需要在sysusercontroller控制器中增加一个验证账号是否重复的接口/uesrexist。关键代码如示例1所示。
示例1
@responsebody @getmapping("/userexist") public object userexist(@requestparam string account) { log.debug("验证用户名 account=" + account + "的用户是否存在"); hashmap<string, object> resultmap = new hashmap<string, object>(); if (stringutils.isnullorempty(account)) { resultmap.put("exist", 1); } else { sysuser sysuser = sysuserservice.getaccountexist(account); if (null != sysuser) { resultmap.put("exist", 1); } else { resultmap.put("exist", 0); } } return json.tojsonstring(resultmap); }
在上述代码中,首先以用户账号account为参数调用业务层方法,查询用户信息,根据返回的对象是否为null,判断该账号是否已存在,然后将结果封装到一个hashmap对象中,最后通过调用json.tojsonstring(resultmap)方法,将其转换为json格式数据并返回。
步骤2:修改视图层
在完成控制层代码的修改之后,还需要对前端页面相关的.js文件进行相应的调整,通过jquery发起异步请求,,然后将后台控制器返回的结果展示在浏览器上。修改sysuser/add.js文件,
关键代码如示例2所示。
示例2
code.bind("blur",function(){ //ajax后台验证--rolecode是否已存在 $.ajax({ type:"get",//请求类型 url:path+"/role/codeexist",//请求的url data:{code:code.val()},//请求参数 datatype:"json",//ajax接口(请求url)返回的数据类型 success:function(data){//data:返回数据(json对象) if(data.exist == 1) {//账号已存在,错误提示 validatetip(code.next(), {"color": "red"}, imgno + " 该角色编码已存在", false); }else if(data.exist == 0){//账号可用,正确提示 validatetip(code.next(),{"color":"green"},imgyes+" 该角色编码可以使用",true); }else if(data.exist == -1){//错误 validatetip(code.next(),{"color":"green"},imgno + data.msg ,true); } }, error:function(data){//当访问时候,404,500 等非200的错误状态码 validatetip(code.next(),{"color":"red"},imgno+" 您访问的页面不存在",false); } }); }).bind("focus",function(){ //显示友情提示 validatetip(code.next(),{"color":"#666666"},"* 角色编码长度必须是大于1小于10的字符",false); });
到此这篇关于spring mvc 扩展和 ssm 框架整合的文章就介绍到这了,更多相关spring mvc 和 ssm 框架整合内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论