欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù)

 更新時(shí)間:2020年07月01日 15:23:02   作者:等你的夏天  
這篇文章主要介紹了Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1) 在springmvc方法的形參中定義Map,Model,ModelMap,并在方法中通過(guò)這三個(gè)對(duì)象進(jìn)行值的傳遞;

①其中Map和ModelMap使用方式是一致的;

@RequestMapping("/detail")
  public String detail(Integer id,
             //ModelMap modelMap
             Map modelMap
               ){
    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo 去數(shù)據(jù)庫(kù)查詢用戶信息
    System.out.println("查詢id為"+id+"的用戶記錄");
    User user=new User(id,"詹姆斯",18,"男","美國(guó)克利夫蘭",
              new Role("小前鋒",23),
              conditions,
              Arrays.asList("打籃球","打游戲"));
    //通過(guò)modelMap或map向前臺(tái)傳值==>request.setAttribute(key,value)
    modelMap.put("user",user);
    return "detail.jsp";
  }

②Model只是通過(guò)addAttribute進(jìn)行傳值;

@RequestMapping("/detail")
  public String detail(Integer id,
             Model model){
    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo 去數(shù)據(jù)庫(kù)查詢用戶信息
    System.out.println("查詢id為"+id+"的用戶記錄");
    User user=new User(id,"詹姆斯",18,"男","美國(guó)克利夫蘭",
              new Role("小前鋒",23),
              conditions,
              Arrays.asList("打籃球","打游戲"));
    //通過(guò)Model對(duì)象傳遞數(shù)據(jù)
    model.addAttribute("user",user);
    return "detail.jsp";
  }

2) 定義方法的返回值類型為ModelAndView,在方法中創(chuàng)建ModelAndView 并指定跳轉(zhuǎn)的頁(yè)面和傳遞的數(shù)據(jù),最后返回ModelAndView對(duì)象;

3) 通過(guò)注解的方式 @ModelAttribute;

4) 在方法參數(shù)中定義Request或session對(duì)象,通過(guò)其對(duì)應(yīng)的API;

下面2),3),4)的情況都在下面的代碼內(nèi);

//演示通過(guò)ModelAndView向頁(yè)面?zhèn)髦?
//@ModelAttribute:注解將對(duì)象傳遞到request域中 1)加在方法參數(shù)上,將對(duì)象傳遞到request域中,或向request域中取值
//                     2)加在方法上,將方法的返回值放入request域中
  @RequestMapping("/detail2")
  public ModelAndView detail2(Integer id, @ModelAttribute("username") String username,
                HttpServletRequest request,
                HttpSession session,
                HttpServletResponse response
  ){

    request.setAttribute("requestTest","請(qǐng)求域數(shù)據(jù)");
    session.setAttribute("sessionTest","session域數(shù)據(jù)");

    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo 去數(shù)據(jù)庫(kù)查詢用戶信息
    System.out.println("查詢id為"+id+"的用戶記錄");
    User user=new User(id,"詹姆斯",18,"男","美國(guó)克利夫蘭",
        new Role("小前鋒",23),
        conditions,
        Arrays.asList("打籃球","打游戲"));
    //通過(guò)ModelAndView設(shè)置跳轉(zhuǎn)的頁(yè)面和值
    ModelAndView modelAndView=new ModelAndView();
    //向頁(yè)面?zhèn)髦?
    modelAndView.addObject("user",user);
    //指定跳轉(zhuǎn)的頁(yè)面 以/開頭,則直接到資源根目錄下找(即webapp下)
    //       不以/開頭,跟在RequestMapping最后一個(gè)/后面
    modelAndView.setViewName("detail.jsp");
    return modelAndView;
  }
  //將方法返回值放入request域中
  @ModelAttribute(name = "modelAttributeTest")
  public String test(){
    return "我是@ModelAttribute的測(cè)試";
  }

detail.jsp中代碼如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
  <title>用戶詳情頁(yè)面</title>
</head>
<body>
<h1>用戶詳細(xì)信息</h1>
<table>
  <tr>
    <td>用戶名</td>
    <td>${user.name}</td>
    <td>年齡</td>
    <td>${user.age}</td>
  </tr>
  <tr>
    <td>性別</td>
    <td>${user.sex}</td>
    <td>地址</td>
    <td>${user.addr}</td>
  </tr>
  <tr>
    <td>角色I(xiàn)D</td>
    <td>${user.role.id}</td>
    <td>角色名</td>
    <td>${user.role.name}</td>
  </tr>
  <tr>
    <td>條件1</td>
    <td>${user.conditions.sal}</td>
    <td>條件2</td>
    <td>${user.conditions.age}</td>
  </tr>
  <tr>
    <td>愛(ài)好</td>
    <td>${user.hobbies}</td>
  </tr>
</table>
獲取@ModelAttribute設(shè)置的值:${username}<br/>
獲取@ModelAttribute設(shè)置的值2:${modelAttributeTest}<br/>
獲取request設(shè)置的值3:${requestTest}<br/>
獲取session設(shè)置的值4:${sessionTest}
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java程序順序結(jié)構(gòu)中邏輯控制語(yǔ)句詳解流程

    Java程序順序結(jié)構(gòu)中邏輯控制語(yǔ)句詳解流程

    在程序開發(fā)的過(guò)程之中一共會(huì)存在有三種程序邏輯:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),對(duì)于之前所編寫的代碼大部分都是順序結(jié)構(gòu)的定義,即:所有的程序?qū)凑斩x的代碼順序依次執(zhí)行
    2021-10-10
  • java 線程中start方法與run方法的區(qū)別詳細(xì)介紹

    java 線程中start方法與run方法的區(qū)別詳細(xì)介紹

    這篇文章主要介紹了java 線程中start方法與run方法的區(qū)別詳細(xì)介紹的相關(guān)資料,在java線程中調(diào)用start方法與run方法的區(qū)別在哪里? 這兩個(gè)問(wèn)題是兩個(gè)非常流行的初學(xué)者級(jí)別的多線程面試問(wèn)題,這里進(jìn)行詳細(xì)說(shuō)明,需要的朋友可以參考下
    2016-11-11
  • 詳解在Spring MVC中使用注解的方式校驗(yàn)RequestParams

    詳解在Spring MVC中使用注解的方式校驗(yàn)RequestParams

    本篇文章主要介紹了詳解在Spring MVC中使用注解的方式校驗(yàn)RequestParams ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Java收集的雪花算法代碼詳解

    Java收集的雪花算法代碼詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)雪花算法的詳細(xì)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法示例

    Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法示例

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之ResourceLoader接口資源加載用法,結(jié)合實(shí)例形式分析了Spring使用ResourceLoader接口加載資源的相關(guān)配置與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Java文件基本操作總結(jié)

    Java文件基本操作總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Java基礎(chǔ)的相關(guān)知識(shí),文章圍繞著Java文件操作展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 基于JavaMail的常用類詳細(xì)介紹

    基于JavaMail的常用類詳細(xì)介紹

    以下是對(duì)JavaMail的常用類進(jìn)行了詳細(xì)分析的介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • Spring Boot Logging Level設(shè)置為off時(shí)的Bug

    Spring Boot Logging Level設(shè)置為off時(shí)的Bug

    這篇文章主要介紹了Spring Boot Logging Level設(shè)置為off時(shí)的Bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java SpringMVC 異常處理SimpleMappingExceptionResolver類詳解

    Java SpringMVC 異常處理SimpleMappingExceptionResolver類詳解

    這篇文章主要介紹了SpringMVC 異常處理SimpleMappingExceptionResolver類詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析

    Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析

    這篇文章主要介紹了Spring Cloud OpenFeign REST服務(wù)客戶端原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論