溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java?ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)

發(fā)布時間:2022-05-05 10:32:10 來源:億速云 閱讀:294 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“java ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“java ssm框架的controller怎么實現(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實體的一個對象。

<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)

java?ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)

通過@PathVariable

java?ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)

通過@RequestBody &ndash;不適用于Get請求

java?ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)

  • 1.@RequestBody 接收的是一個請求體, @RequestBody只能存在一個,接收的是所有的請求參數(shù)--一次接收完

  • 2.如果傳對象或者數(shù)組必須先轉(zhuǎn)為Json格式\或者是純字符串

  • 3.@RequestBody 不適合用于Get請求

接收日期類型: @DateTimeFormat\@JsonFormat

  • @DateTimeFormat使用場景:頁面直接傳遞日期格式時,直接用該注解接收;

  • @JsonFormat使用場景:頁面?zhèn)鬟fJson格式的日期格式時,使用該注解接收;  特別注意:使用不同的Json包該注解名可能不同

使用方法:

java?ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)

到此,相信大家對“java ssm框架的controller怎么實現(xiàn)向頁面?zhèn)鬟f參數(shù)”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI