java ssm框架的controller實(shí)現(xiàn)向頁面?zhèn)鬟f參數(shù)
ssm的controller向頁面?zhèn)鬟f參數(shù)
使用Map<String, Object> 來傳遞參數(shù)
在控制器的方法中添加一個Map類型參數(shù)A。給參數(shù)A的put方法put了鍵值對B,鍵值對B在頁面中就可以獲取到了
1.java 后臺代碼的編寫,put了operation和application鍵值對
@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.頁面使用后臺傳遞過來的鍵值對
使用的方法是鍵值對要用${}包裹起來。 比如:${operation}和${application.orgId},${operation}是引用后臺map put的operation鍵值對,${application.orgId}是引用后臺map put的application實(shí)體的一個對象。
<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.后臺臺代碼的編寫
在控制器的方法中添加一個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就是后臺返回的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請求

- 1.@RequestBody 接收的是一個請求體, @RequestBody只能存在一個,接收的是所有的請求參數(shù)--一次接收完
- 2.如果傳對象或者數(shù)組必須先轉(zhuǎn)為Json格式\或者是純字符串
- 3.@RequestBody 不適合用于Get請求
接收日期類型: @DateTimeFormat\@JsonFormat
@DateTimeFormat使用場景:頁面直接傳遞日期格式時,直接用該注解接收;@JsonFormat使用場景:頁面?zhèn)鬟fJson格式的日期格式時,使用該注解接收; 特別注意:使用不同的Json包該注解名可能不同
使用方法:

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)數(shù)據(jù)庫連接池簡易教程
這篇文章主要為大家介紹了Java實(shí)現(xiàn)數(shù)據(jù)庫連接池簡易教程,感興趣的小伙伴們可以參考一下2016-01-01
JetBrains?發(fā)布下一代?IDE無比輕量幾秒就能啟動干活
雖然?JetBrains?公司說?Fleet?的定位和目標(biāo)并不是代替其他?IDE,但個人覺得,?如果?Fleet?火起來了,其他?IDE?就會黯然失色,特別是多語言開發(fā)者,誰愿意裝多個?IDE?呢?到時候,可能?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í)行的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java實(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

