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正可以滿(mǎn)足這一需求,下面學(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)證用戶(hù)名 account=" + account + "的用戶(hù)是否存在");
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ù)賬號(hào)account為參數(shù)調(diào)用業(yè)務(wù)層方法,查詢(xún)用戶(hù)信息,根據(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)訪(fǎng)問(wèn)時(shí)候,404,500 等非200的錯(cuò)誤狀態(tài)碼
validateTip(code.next(),{"color":"red"},imgNo+" 您訪(fǎng)問(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)文章
SpringCloud通過(guò)Feign傳遞List類(lèi)型參數(shù)方式
這篇文章主要介紹了SpringCloud通過(guò)Feign傳遞List類(lèi)型參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
SpringBoot使用@PostConstruct注解導(dǎo)入配置方式
這篇文章主要介紹了SpringBoot使用@PostConstruct注解導(dǎo)入配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
springboot中使用undertow踩坑記(最新推薦)
這篇文章主要介紹了springboot中使用undertow踩坑記,springboot內(nèi)置類(lèi)web中間件,將web服務(wù)器管理權(quán)交給了容器,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
springBoot?之spring.factories擴(kuò)展機(jī)制示例解析
這篇文章主要為大家介紹了springBoot?之spring.factories擴(kuò)展機(jī)制示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
spring?boot3.0自定義校驗(yàn)注解并以文章?tīng)顟B(tài)校驗(yàn)為例
本文詳細(xì)介紹如何在 Spring Boot 中自定義校驗(yàn)注解,并以狀態(tài)校驗(yàn)為例進(jìn)行講解,力求簡(jiǎn)潔明了,易于理解和實(shí)踐,感興趣的朋友跟隨小編一起看看吧2025-05-05
使用Java實(shí)現(xiàn)PDF轉(zhuǎn)多種圖片格式
在Java開(kāi)發(fā)中,處理PDF文檔是一項(xiàng)常見(jiàn)任務(wù),很多場(chǎng)景都需要將PDF轉(zhuǎn)換為圖片格式(如PNG、JPG)或矢量圖格式(如SVG),下面我們就來(lái)看看具體實(shí)現(xiàn)方法吧2025-09-09
java實(shí)現(xiàn)動(dòng)態(tài)編譯并動(dòng)態(tài)加載
這篇文章主要介紹了java實(shí)現(xiàn)動(dòng)態(tài)編譯并動(dòng)態(tài)加載,需要的朋友可以參考下2021-04-04
SpringBoot整合Redis實(shí)現(xiàn)高并發(fā)數(shù)據(jù)緩存的示例講解
這篇文章主要介紹了SpringBoot整合Redis實(shí)現(xiàn)高并發(fā)數(shù)據(jù)緩存,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03

