Spring MVC 扩展和 SSM 框架整合

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);
	});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值