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);
});到此这篇关于Spring MVC 扩展和 SSM 框架整合的文章就介绍到这了,更多相关Spring MVC 和 SSM 框架整合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringCloud通过Feign传递List类型参数方式
这篇文章主要介绍了SpringCloud通过Feign传递List类型参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
SpringBoot使用@PostConstruct注解导入配置方式
这篇文章主要介绍了SpringBoot使用@PostConstruct注解导入配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11
springboot中使用undertow踩坑记(最新推荐)
这篇文章主要介绍了springboot中使用undertow踩坑记,springboot内置类web中间件,将web服务器管理权交给了容器,本文分步骤给大家介绍的非常详细,需要的朋友可以参考下2024-08-08
springBoot 之spring.factories扩展机制示例解析
这篇文章主要为大家介绍了springBoot 之spring.factories扩展机制示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04
spring boot3.0自定义校验注解并以文章状态校验为例
本文详细介绍如何在 Spring Boot 中自定义校验注解,并以状态校验为例进行讲解,力求简洁明了,易于理解和实践,感兴趣的朋友跟随小编一起看看吧2025-05-05
SpringBoot整合Redis实现高并发数据缓存的示例讲解
这篇文章主要介绍了SpringBoot整合Redis实现高并发数据缓存,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03


最新评论