欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring MVC 擴(kuò)展和 SSM 框架整合步驟詳解

 更新時(shí)間:2024年08月13日 14:10:16   作者:LiuYuHani  
在前端頁(yè)面后后臺(tái)交互的過程中,需要一種格式清晰、高效且兩端都可以輕松使用的數(shù)據(jù)格式做交互的媒介,JSON正可以滿足這一需求,下面學(xué)習(xí)使用Spring MVC 框架處理JSON數(shù)據(jù),感興趣的朋友一起看看吧

12.1 Spring MVC 框架處理JSON數(shù)據(jù)

         JSON 格式數(shù)據(jù)在現(xiàn)階段Web項(xiàng)目開發(fā)中扮演者非常重要的角色。在前端頁(yè)面后后臺(tái)交互的過程中,需要一種格式清晰、高效且兩端都可以輕松使用的數(shù)據(jù)格式做交互的媒介,JSON正可以滿足這一需求,下面學(xué)習(xí)使用Spring MVC 框架處理JSON數(shù)據(jù)。

12.1.1 JSON 數(shù)據(jù)的傳遞處理

步驟1:修改控制層

控制層返回的JSON類型數(shù)據(jù)其實(shí)就是一個(gè)特殊格式的字符串,為了方便、高效的處理JSON數(shù)據(jù),需要引入一個(gè)處理JSON類型數(shù)據(jù)的jar包——fastjson-1.2.31.jar,此包是阿里巴巴提供的一個(gè)處理JSON數(shù)據(jù)的開源工具,以高效著稱。

需要在SysUserController控制器中增加一個(gè)驗(yàn)證賬號(hào)是否重復(fù)的接口/uesrExist。關(guān)鍵代碼如示例1所示。

示例1

@ResponseBody
    @GetMapping("/userExist")
    public Object userExist(@RequestParam String account) {
        log.debug("驗(yàn)證用戶名 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);
    }

在上述代碼中,首先以用戶賬號(hào)account為參數(shù)調(diào)用業(yè)務(wù)層方法,查詢用戶信息,根據(jù)返回的對(duì)象是否為null,判斷該賬號(hào)是否已存在,然后將結(jié)果封裝到一個(gè)HashMap對(duì)象中,最后通過調(diào)用JSON.toJsonString(resultMap)方法,將其轉(zhuǎn)換為JSON格式數(shù)據(jù)并返回。

步驟2:修改視圖層

       在完成控制層代碼的修改之后,還需要對(duì)前端頁(yè)面相關(guān)的.js文件進(jìn)行相應(yīng)的調(diào)整,通過jQuery發(fā)起異步請(qǐng)求,,然后將后臺(tái)控制器返回的結(jié)果展示在瀏覽器上。修改sysUSer/add.js文件,

關(guān)鍵代碼如示例2所示。

示例2

code.bind("blur",function(){
		//ajax后臺(tái)驗(yàn)證--roleCode是否已存在
		$.ajax({
			type:"GET",//請(qǐng)求類型
			url:path+"/role/codeExist",//請(qǐng)求的url
			data:{code:code.val()},//請(qǐng)求參數(shù)
			dataType:"json",//ajax接口(請(qǐng)求url)返回的數(shù)據(jù)類型
			success:function(data){//data:返回?cái)?shù)據(jù)(json對(duì)象)
				if(data.exist == 1) {//賬號(hào)已存在,錯(cuò)誤提示
                    validateTip(code.next(), {"color": "red"}, imgNo + " 該角色編碼已存在", false);
                }else if(data.exist == 0){//賬號(hào)可用,正確提示
					validateTip(code.next(),{"color":"green"},imgYes+" 該角色編碼可以使用",true);
				}else if(data.exist == -1){//錯(cuò)誤
                    validateTip(code.next(),{"color":"green"},imgNo + data.msg  ,true);
                }
			},
			error:function(data){//當(dāng)訪問時(shí)候,404,500 等非200的錯(cuò)誤狀態(tài)碼
				validateTip(code.next(),{"color":"red"},imgNo+" 您訪問的頁(yè)面不存在",false);
			}
		});
	}).bind("focus",function(){
		//顯示友情提示
		validateTip(code.next(),{"color":"#666666"},"* 角色編碼長(zhǎng)度必須是大于1小于10的字符",false);
	});

到此這篇關(guān)于Spring MVC 擴(kuò)展和 SSM 框架整合的文章就介紹到這了,更多相關(guān)Spring MVC 和 SSM 框架整合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot之瘦身部署問題

    SpringBoot之瘦身部署問題

    這篇文章主要介紹了SpringBoot之瘦身部署問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java并發(fā)編程之Exchanger方法詳解

    Java并發(fā)編程之Exchanger方法詳解

    這篇文章主要介紹了Java并發(fā)編程之Exchanger方法詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • java實(shí)現(xiàn)給出分?jǐn)?shù)數(shù)組得到對(duì)應(yīng)名次數(shù)組的方法

    java實(shí)現(xiàn)給出分?jǐn)?shù)數(shù)組得到對(duì)應(yīng)名次數(shù)組的方法

    這篇文章主要介紹了java實(shí)現(xiàn)給出分?jǐn)?shù)數(shù)組得到對(duì)應(yīng)名次數(shù)組的方法,涉及java針對(duì)數(shù)組的遍歷、排序及運(yùn)算的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • Spring Boot2配置Swagger2生成API接口文檔詳情

    Spring Boot2配置Swagger2生成API接口文檔詳情

    這篇文章主要介紹了Spring Boot2配置Swagger2生成API接口文檔詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Java21虛擬線程實(shí)踐

    Java21虛擬線程實(shí)踐

    java21正式版發(fā)布了,為我們帶來了很多新的特性,其中我最感興趣的就是虛擬線程,本文主要介紹了Java21虛擬線程實(shí)踐,感興趣的可以;了解一下
    2023-10-10
  • Java進(jìn)程cpu頻繁100%問題解決方案

    Java進(jìn)程cpu頻繁100%問題解決方案

    這篇文章主要介紹了Java進(jìn)程cpu頻繁100%問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java Lambda 表達(dá)式詳解及示例代碼

    Java Lambda 表達(dá)式詳解及示例代碼

    本文主要介紹Java Lambda 表達(dá)式的知識(shí),這里整理了相關(guān)資料,JavaLambda 是Java8 引入的新功能,有興趣的小伙伴可以參考下
    2016-09-09
  • 解決Spring Security 用戶帳號(hào)已被鎖定問題

    解決Spring Security 用戶帳號(hào)已被鎖定問題

    這篇文章主要介紹了解決Spring Security 用戶帳號(hào)已被鎖定問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • java easyUI實(shí)現(xiàn)自定義網(wǎng)格視圖實(shí)例代碼

    java easyUI實(shí)現(xiàn)自定義網(wǎng)格視圖實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于java easyUI實(shí)現(xiàn)自定義網(wǎng)格視圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • Java創(chuàng)建多線程的兩種方式對(duì)比

    Java創(chuàng)建多線程的兩種方式對(duì)比

    在Java中創(chuàng)建線程的方式有兩種,第一種是直接繼承Thead類,另一種是實(shí)現(xiàn)Runable接口。那么這兩種方式孰優(yōu)孰劣呢?這就是本文需要探討的內(nèi)容范疇了,看官們請(qǐng)仔細(xì)向下看
    2014-10-10

最新評(píng)論