Spring MVC 擴(kuò)展和 SSM 框架整合步驟詳解
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)文章希望大家以后多多支持腳本之家!
- java開發(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)搭建過程
- 一步步教你整合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-07Spring Boot2配置Swagger2生成API接口文檔詳情
這篇文章主要介紹了Spring Boot2配置Swagger2生成API接口文檔詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09解決Spring Security 用戶帳號(hào)已被鎖定問題
這篇文章主要介紹了解決Spring Security 用戶帳號(hào)已被鎖定問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01java 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