亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

六、Spring MVC之返回數據

發布時間:2020-07-27 23:24:30 來源:網絡 閱讀:10134 作者:艾斯的夢想 欄目:開發技術

    前面幾篇文章重點說明了一下怎么從前臺傳遞參數到目標方法,還沒有說怎么把結果返回給前臺。本篇來講述一下spring mvc怎么返回結果數據。

    從使用形式上看,有以下幾種方式:ModelAndView、Map、Model,這幾種方式都可以返回數據到前臺,本質上來看都是通過map的形式返回數據的。本系列文章著重于使用,深層次的原因,感興趣的同志可以去調適源代碼,這里只是結合使用方式,做簡單的樣例和分析。


1、ModelAndView的使用

/**
 * 方法的返回值可以是ModelAndView類型,它可以包含視圖和模型信息
 * spring mvc會把模型信息放入到request域對象中,可以跟蹤源碼調試
 * 這個類org.springframework.web.servlet.view.AbstractView
 * 這個方法exposeModelAsRequestAttributes
 * @return
 */
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView() {
    ModelAndView modelAndView = new ModelAndView("success");
    modelAndView.addObject("name", "Jack use ModelAndView");
    return modelAndView;
}

2、Map的使用

/**
 * 使用map返回數據,實際上是實例化了一個
 * org.springframework.validation.support.BindingAwareModelMap
 * @param map
 * @return
 */
@RequestMapping("/testMap")
public String testMap(Map<String, Object> map) {
    System.out.println(map.getClass().getName());
    map.put("name", "Jack use Map");
    return "success";
}


3、Model的使用,本質上與map一樣

/**
 * 使用model和使用map一樣,都是實例化了一個
 * org.springframework.validation.support.BindingAwareModelMap
 * @param model
 * @return
 */
@RequestMapping("/testModel")
public String testModel(Model model) {
    System.out.println(model.getClass().getName());
    model.addAttribute("name", "Jack use Model");
    return "success";
}

4、SessionAttributes的使用,可以把數據存放到session域中去,有兩個屬性,value和types,value執行需要放到會話中的屬性的屬性名,types指定需要放到會話中的屬性的類型。


在類上添加注解:

@SessionAttributes(value = {"user"}, types = {String.class})


目標方法的定義

/**
 * 注解SessionAttribute可以通過屬性名指定需要放到會話中的屬性,實際上通過value屬性
 * 還可以通過types指定哪些類型的屬性需要放到會話中去
 * 但是該注解只能用于類上
 * @param map
 * @return
 */
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Map<String, Object> map) {
    User user = new User();
    user.setAge(15);
    user.setUserName("lxy");
    map.put("user", user);
    map.put("name", "jack in sessionAttribute");
    return "success";
}


項目源代碼:

https://git.oschina.net/acesdream/spring-mvc


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拉孜县| 蒙山县| 伊宁县| 巩义市| 平阳县| 富顺县| 兴和县| 吉水县| 偏关县| 合山市| 小金县| 富顺县| 双鸭山市| 遵义市| 井研县| 合水县| 上高县| 逊克县| 西吉县| 珠海市| 财经| 瑞金市| 唐山市| 安龙县| 乐都县| 台州市| 崇仁县| 香河县| 四川省| 开鲁县| 明光市| 淄博市| 荣昌县| 蒙山县| 阳东县| 浏阳市| 昌乐县| 玉门市| 北碚区| 中方县| 茶陵县|