Spring MVC 擴(kuò)展和 SSM 框架整合步驟詳解
12.1 Spring MVC 框架處理JSON數(shù)據(jù)
JSON 格式數(shù)據(jù)在現(xiàn)階段Web項(xiàng)目開(kāi)發(fā)中扮演者非常重要的角色。在前端頁(yè)面后后臺(tái)交互的過(guò)程中,需要一種格式清晰、高效且兩端都可以輕松使用的數(shù)據(jù)格式做交互的媒介,JSON正可以滿足這一需求,下面學(xué)習(xí)使用Spring MVC 框架處理JSON數(shù)據(jù)。
12.1.1 JSON 數(shù)據(jù)的傳遞處理
步驟1:修改控制層
控制層返回的JSON類(lèi)型數(shù)據(jù)其實(shí)就是一個(gè)特殊格式的字符串,為了方便、高效的處理JSON數(shù)據(jù),需要引入一個(gè)處理JSON類(lèi)型數(shù)據(jù)的jar包——fastjson-1.2.31.jar,此包是阿里巴巴提供的一個(gè)處理JSON數(shù)據(jù)的開(kāi)源工具,以高效著稱(chēng)。
需要在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ù)層方法,查詢(xún)用戶信息,根據(jù)返回的對(duì)象是否為null,判斷該賬號(hào)是否已存在,然后將結(jié)果封裝到一個(gè)HashMap對(duì)象中,最后通過(guò)調(diào)用JSON.toJsonString(resultMap)方法,將其轉(zhuǎn)換為JSON格式數(shù)據(jù)并返回。
步驟2:修改視圖層
在完成控制層代碼的修改之后,還需要對(duì)前端頁(yè)面相關(guān)的.js文件進(jìn)行相應(yīng)的調(diào)整,通過(guò)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)求類(lèi)型
url:path+"/role/codeExist",//請(qǐng)求的url
data:{code:code.val()},//請(qǐng)求參數(shù)
dataType:"json",//ajax接口(請(qǐng)求url)返回的數(shù)據(jù)類(lèi)型
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)訪問(wèn)時(shí)候,404,500 等非200的錯(cuò)誤狀態(tài)碼
validateTip(code.next(),{"color":"red"},imgNo+" 您訪問(wèn)的頁(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)文章希望大家以后多多支持腳本之家!
- java開(kāi)發(fā)SSM框架具有rest風(fēng)格的SpringMVC
- SpringMVC 整合SSM框架詳解
- Spring+SpringMVC+MyBatis整合實(shí)戰(zhàn)(SSM框架)
- SSM框架整合之Spring+SpringMVC+MyBatis實(shí)踐步驟
- 如何基于ssm框架實(shí)現(xiàn)springmvc攔截器
- ssm框架Springmvc文件上傳實(shí)現(xiàn)代碼詳解
- 使用IDEA搭建SSM框架的詳細(xì)教程(spring + springMVC +MyBatis)
- Java SSM框架(Spring+SpringMVC+MyBatis)搭建過(guò)程
- 一步步教你整合SSM框架(Spring MVC+Spring+MyBatis)詳細(xì)教程
相關(guān)文章
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接口文檔詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Java進(jìn)程cpu頻繁100%問(wèn)題解決方案
這篇文章主要介紹了Java進(jìn)程cpu頻繁100%問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
解決Spring Security 用戶帳號(hào)已被鎖定問(wèn)題
這篇文章主要介紹了解決Spring Security 用戶帳號(hào)已被鎖定問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
java easyUI實(shí)現(xiàn)自定義網(wǎng)格視圖實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于java easyUI實(shí)現(xiàn)自定義網(wǎng)格視圖的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10

