java ssm框架的controller實(shí)現(xiàn)向頁面?zhèn)鬟f參數(shù)
ssm的controller向頁面?zhèn)鬟f參數(shù)
使用Map<String, Object> 來傳遞參數(shù)
在控制器的方法中添加一個(gè)Map類型參數(shù)A。給參數(shù)A的put方法put了鍵值對(duì)B,鍵值對(duì)B在頁面中就可以獲取到了
1.java 后臺(tái)代碼的編寫,put了operation和application鍵值對(duì)
@RequestMapping("/edit_form") ?? ?public String editApplicationFormPage(Map<String, Object> map, ?? ??? ??? ?HttpServletRequest request, String applicationId) { ?? ??? ?map.put("operation", "edit"); ?? ??? ?Application application = applicationService ?? ??? ??? ??? ?.getApplicationById(applicationId); ?? ??? ?if(application.getSysBigIcon()==null||application.getSysBigIcon().equals("")){ ?? ??? ??? ?application.setSysBigIcon("/www/images/default.png"); ?? ??? ?} ?? ??? ?if(application.getSysIcon()==null||application.getSysIcon().equals("")){ ?? ??? ??? ?application.setSysIcon("/www/images/default.png"); ?? ??? ?} ?? ??? ?if (application != null) { ?? ??? ??? ?map.put("application", application); ?? ??? ?} ?? ??? ?return "/frame/system/application/application_form"; ?? ?}
2.頁面使用后臺(tái)傳遞過來的鍵值對(duì)
使用的方法是鍵值對(duì)要用${}包裹起來。 比如:${operation}和${application.orgId},${operation}是引用后臺(tái)map put的operation鍵值對(duì),${application.orgId}是引用后臺(tái)map put的application實(shí)體的一個(gè)對(duì)象。
<script type="text/javascript"> ?? ?window.WWWROOT = "${ctx}"; ?? ?window.DefaultOrgId ?= "<%=user.getDefaultOrgId()%>"; ?? ?window.Operation = "${operation}"; ?? ?window.OrgId = "${application.orgId}"; ?? ?window.TaskAppId = "${application.taskAppId}"; ?? ?window.MenuType = "${application.menuType}"; </script> ?? ??? ??? ?<title>${operation eq 'add'?'添加':(operation eq ?? ??? ??? ??? ?'edit'?'編輯':'查看')}應(yīng)用系統(tǒng)</title>
使用PrintWriter來傳遞參數(shù)
給PrintWriter寫一些內(nèi)容。就把這些內(nèi)容返回到頁面了。
1.后臺(tái)臺(tái)代碼的編寫
在控制器的方法中添加一個(gè)PrintWrite類型參數(shù)writer,使用writer.write()方法寫入內(nèi)容。頁面就可以返回這內(nèi)容了。代碼如下:
@RequestMapping("/add") ?? ?public void ?add(HttpServletRequest request, HttpServletResponse response,MenuRight menuRight, PrintWriter writer) ?? ??? ??? ? { ?? ??? ?try{ ?? ??? ? ? ?Boolean result =menuRightService.addMenuRight(menuRight); ?? ??? ??? ?writer.write("{\"success\":true}"); ?? ??? ??? ??? ?} catch (Exception e) { ?? ??? ??? ??? ??? ?// TODO Auto-generated catch block ?? ??? ??? ??? ??? ?e.printStackTrace(); ?? ??? ??? ??? ??? ?writer.write("{\"success\":false}"); ?? ??? ??? ??? ?} ? ?? ?}
2.頁面的代碼編寫
success
: function(result)中的result就是后臺(tái)返回的writer.write()中的內(nèi)容
$.ajax({ ?? ??? ?type : 'POST', ?? ??? ?url : WWWROOT + "/menuRight/add", ?? ??? ?data : dat, ?? ??? ?success : function(result) { ?? ??? ??? ?if ($.parseJSON(result).success == true) { ?? ??? ??? ??? ?$(stId).attr("checked", true); ?? ??? ??? ?} else { ?? ??? ??? ??? ?alert("添加授權(quán)失敗"); ?? ??? ??? ??? ?$(stId).attr("checked", false); ?? ??? ??? ?} ?? ??? ?} ?? ?});
ssm框架獲取頁面?zhèn)鬟f的參數(shù)
通過@RequestParam
接收名字為age的參數(shù),且可以為空
@RequestParam(value = "age",required = false)
通過@PathVariable
通過@RequestBody –不適用于Get請(qǐng)求
- 1.@RequestBody 接收的是一個(gè)請(qǐng)求體, @RequestBody只能存在一個(gè),接收的是所有的請(qǐng)求參數(shù)--一次接收完
- 2.如果傳對(duì)象或者數(shù)組必須先轉(zhuǎn)為Json格式\或者是純字符串
- 3.@RequestBody 不適合用于Get請(qǐng)求
接收日期類型: @DateTimeFormat\@JsonFormat
@DateTimeFormat
使用場(chǎng)景:頁面直接傳遞日期格式時(shí),直接用該注解接收;@JsonFormat
使用場(chǎng)景:頁面?zhèn)鬟fJson格式的日期格式時(shí),使用該注解接收; 特別注意:使用不同的Json包該注解名可能不同
使用方法:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池簡(jiǎn)易教程
這篇文章主要為大家介紹了Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池簡(jiǎn)易教程,感興趣的小伙伴們可以參考一下2016-01-01JetBrains?發(fā)布下一代?IDE無比輕量幾秒就能啟動(dòng)干活
雖然?JetBrains?公司說?Fleet?的定位和目標(biāo)并不是代替其他?IDE,但個(gè)人覺得,?如果?Fleet?火起來了,其他?IDE?就會(huì)黯然失色,特別是多語言開發(fā)者,誰愿意裝多個(gè)?IDE?呢?到時(shí)候,可能?JetBrains?以后的所有?IDE?要一統(tǒng)江湖了2021-12-12詳解SpringBoot如何使用JWT實(shí)現(xiàn)身份認(rèn)證和授權(quán)
JSON?Web?Token(JWT)是一種用于在網(wǎng)絡(luò)應(yīng)用之間安全傳遞信息的開放標(biāo)準(zhǔn),本文主要為大家介紹了如何在Spring?Boot中使用JWT實(shí)現(xiàn)身份認(rèn)證和授權(quán),需要的可以了解下2023-10-10聊聊Java 成員變量賦值和構(gòu)造方法誰先執(zhí)行的問題
這篇文章主要介紹了聊聊Java 成員變量賦值和構(gòu)造方法誰先執(zhí)行的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java實(shí)現(xiàn)與JS相同的Des加解密算法完整實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)與JS相同的Des加解密算法,結(jié)合完整實(shí)例形式分析了java及js實(shí)現(xiàn)des加密與應(yīng)用的具體操作技巧,需要的朋友可以參考下2017-11-11