Spring MVC 扩展和 SSM 框架整合步骤详解

 更新时间:2024年08月13日 14:10:16   作者:LiuYuHani  
在前端页面后后台交互的过程中,需要一种格式清晰、高效且两端都可以轻松使用的数据格式做交互的媒介,JSON正可以满足这一需求,下面学习使用Spring MVC 框架处理JSON数据,感兴趣的朋友一起看看吧

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 框架整合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现map转换成json的方法详解

    Java实现map转换成json的方法详解

    这篇文章主要为大家详细介绍了Java语言实现map转换成json的几种方法,文中的示例代码讲解详细,对我们学习Java有一定帮助,需要的可以参考一下
    2022-05-05
  • Java 异步线程监听与结果回调及异常捕获总结分析

    Java 异步线程监听与结果回调及异常捕获总结分析

    异常是程序之中导致程序中断的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行,这篇文章综合介绍了异步线程监听与结果回调及异常捕获
    2021-11-11
  • IDEA2020导入非maven项目并部署tomcat的方法

    IDEA2020导入非maven项目并部署tomcat的方法

    这篇文章主要介绍了IDEA 2020 导入非maven项目并部署tomcat的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Kafka 日志存储实现过程

    Kafka 日志存储实现过程

    这篇文章主要为大家介绍了Kafka 日志存储的实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 解决idea中java出现无效的源发行版问题

    解决idea中java出现无效的源发行版问题

    这篇文章主要给大家介绍了关于解决idea中java出现无效的源发行版问题的相关资料,无效的源发行版是指IntelliJ IDEA无法正确识别和处理的源代码版本,这可能是由于错误的配置、缺少依赖项、不兼容的插件或其他问题导致的,需要的朋友可以参考下
    2024-01-01
  • JAVA获取HTTP请求头的方法示例

    JAVA获取HTTP请求头的方法示例

    这篇文章主要介绍了JAVA获取HTTP请求头的方法,结合具体实例形式分析了java针对http请求头的读取及属性操作技巧,需要的朋友可以参考下
    2017-06-06
  • 如何通过eclipse web项目导入itellij idea并启动

    如何通过eclipse web项目导入itellij idea并启动

    这篇文章主要介绍了如何通过eclipse web项目导入itellij idea并启动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java for循环的妙用之鸡兔同笼问题

    Java for循环的妙用之鸡兔同笼问题

    这篇文章主要给大家介绍了关于Java for循环的妙用之鸡兔同笼问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java Netty核心模块超详细梳理

    Java Netty核心模块超详细梳理

    Netty是一个java开源项目,是一个异步的、基于事件驱动的网络应用框架,用以开发高性能、高可用的网络io程序,这篇文章主要介绍了Netty核心模块
    2022-11-11
  • Spring Boot启动时调用自己的非web逻辑

    Spring Boot启动时调用自己的非web逻辑

    在spring Boot中,有些代码是WEB功能,例如API等,但是有些逻辑是非WEB,启动时就要调用并持续运行的,该如何加载自己的非WEB逻辑呢,下面通过实例代码给大家讲解,一起看看吧
    2017-07-07

最新评论