最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC中的Model對象用法說明

 更新時間:2021年06月23日 15:00:38   作者:捉眼鏡蛇煲湯  
這篇文章主要介紹了SpringMVC中的Model對象用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

模型對象的作用主要是保存數據,可以借助它們將數據帶到前端。

常用的模型對象有以下幾個:

ModelAndView(顧名思義,模型和視圖,既可以攜帶數據信息,也可以攜帶視圖信息,常規(guī)用法如下)

    /**
     * ModelAndView 綁定數據到視圖 (ModelMap用于傳遞數據 View對象用于跳轉)
     * @return
     * @throws Exception
     */
    @RequestMapping(value="/case2")
    public ModelAndView case2() throws Exception {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("/demo03/model.jsp");
        mav.addObject("sex", "boy");
        return mav;
    }

Map,和modelAndView原理一樣,同樣是將數據一個一個放在requestScope中,前端取數據同樣也是${模型數據}

    /**
     * 目標方法可以添加 Map 類型(實際上也可以是 Model 類型或 ModelMap 類型)的參數. 
     * @param map
     * @return
     */
    @RequestMapping("/case")
    public String case1(Map map) throws Exception{
        map.put("sex", "獲取成功!!");
        return "/demo03/model.jsp";
    }

@SessionAttributes(相當于創(chuàng)建session對象,往session對象里放數據,這里用一個注解完美解決)

基本格式如下:

/**
 * @SessionAttributes 除了可以通過屬性名指定需要放到會話中的屬性外(實際上使用的是 value 屬性值),
 * 還可以通過模型屬性的對象類型指定哪些模型屬性需要放到會話中(實際上使用的是 types 屬性值)
 * 注意: 該注解只能放在類的上面. 而不能修飾方法當于在map中和session中 各存放了一個實體類,一個String類的字符串
 */
@SessionAttributes("user")
@Controller
public class SessionController { 
 @ModelAttribute("user")
 public User getUser(){
  User user = new User();
  return user;
 }
 /**
  * http://localhost:8080/s/s1?id=1
  * 請求轉發(fā) forward: 不需要任何處理
  * 請求重定向 redirect: 使用SessionAttribute方式 用于在重定向中傳至  將值存儲在session中 【用完記住清除】
  * @return
  * @throws Exception
  */
 @RequestMapping(value="/s1",method=RequestMethod.GET)
 public String case1(@ModelAttribute("user") User user) throws Exception{
  return "redirect:/s2";
 }
 
 @RequestMapping(value="/s2",method=RequestMethod.GET)
 public String case2(Map map,HttpServletResponse res,SessionStatus sessionStatus) throws Exception{
  User user=(User)map.get("user");
  res.getWriter().println(user.getId());
  sessionStatus.setComplete();
  return null;
 }
}

SpringMVC中的Model和ModelAndView的區(qū)別

1.主要區(qū)別

Model是每次請求中都存在的默認參數,利用其addAttribute()方法即可將服務器的值傳遞到jsp頁面中;

ModelAndView包含modelview兩部分,使用時需要自己實例化,利用ModelMap用來傳值,也可以設置view的名稱

2.例子

1)使用Model傳值

@RequestMapping(value="/list-books")
 private String getAllBooks(Model model){
  logger.error("/list-books");
  List<Book> books= bookService.getAllBooks();
  model.addAttribute("books", books);
  return "BookList";
 }

jsp頁面利${books}即可取出其中的值

2)使用ModelAndView傳遞值有兩種方法,不同方法在jsp頁面的取值方式不同,同時設置了view的名稱

public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response,
        Object handler, Exception ex) {
        LibraryException le=null;
        if(ex instanceof LibraryException){
            le=(LibraryException)ex;
        }else{
            le=new LibraryException("系統(tǒng)未知異常!");
        }
 
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("exception",le.getMessage());
        modelAndView.getModel().put("exception",le.getMessage());
        modelAndView.setViewName("error"); 
        return modelAndView;
    }

jsp${requestScope.exception1}可以取出exception1的值;

jsp${exception2}可以取出exception2的值

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • IDEA2022.1創(chuàng)建maven項目規(guī)避idea2022新建maven項目卡死無反應問題

    IDEA2022.1創(chuàng)建maven項目規(guī)避idea2022新建maven項目卡死無反應問題

    這篇文章主要介紹了IDEA2022.1創(chuàng)建maven項目規(guī)避idea2022新建maven項目卡死無反應問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • SpringMVC框架實現上傳圖片的示例代碼

    SpringMVC框架實現上傳圖片的示例代碼

    本篇文章主要介紹了SpringMVC框架實現上傳圖片的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java數據結構專題解析之棧和隊列的實現

    Java數據結構專題解析之棧和隊列的實現

    從數據結構的定義看,棧和隊列也是一種線性表。其不同之處在于棧和隊列的相關運算具有特殊性,只是線性表相關運算的一個子集。更準確的說,一般線性表的插入、刪除運算不受限制,而棧和隊列上的插入刪除運算均受某種特殊限制。因此,棧和隊列也稱作操作受限的線性表
    2021-10-10
  • SpringBoot業(yè)務邏輯異常的處理方法介紹

    SpringBoot業(yè)務邏輯異常的處理方法介紹

    本篇文章為大家展示了如何在SpringBoot中統(tǒng)一處理邏輯異常,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲
    2022-09-09
  • Java編程偽共享與緩存行填充

    Java編程偽共享與緩存行填充

    這篇文章主要介紹了Java編程偽共享與緩存行填充,下面文章Disruptor提到的CPU緩存話題,做了一些嘗試和研究,如Disruptor所說,CPU有緩存?zhèn)喂蚕淼膯栴},并且通過緩存行填充能完美的解決這個問題,需要的朋友可以參考一下
    2021-09-09
  • Docker 存儲驅動詳細介紹

    Docker 存儲驅動詳細介紹

    這篇文章主要介紹了Docker 存儲驅動詳細介紹的相關資料,需要的朋友可以參考下
    2016-10-10
  • springmvc級聯(lián)屬性處理無法轉換異常問題解決

    springmvc級聯(lián)屬性處理無法轉換異常問題解決

    這篇文章主要介紹了springmvc級聯(lián)屬性處理無法轉換異常問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • java?ResourceBundle讀取properties文件方式

    java?ResourceBundle讀取properties文件方式

    這篇文章主要介紹了java?ResourceBundle讀取properties文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot?@Transactional事務不生效排查方式

    SpringBoot?@Transactional事務不生效排查方式

    這篇文章主要介紹了SpringBoot?@Transactional事務不生效排查方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Jmeter測試時遇到的各種亂碼問題及解決

    Jmeter測試時遇到的各種亂碼問題及解決

    這篇文章主要介紹了Jmeter測試時遇到的各種亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論

内乡县| 长垣县| 乡城县| 稷山县| 驻马店市| 仪陇县| 且末县| 托里县| 沁水县| 湘潭县| 金阳县| 尉氏县| 郓城县| 长岭县| 建湖县| 长葛市| 寻甸| 云霄县| 绍兴县| 青阳县| 云龙县| 普定县| 巴东县| 曲水县| 仁寿县| 龙南县| 仪陇县| 砀山县| 信宜市| 东阳市| 蒙阴县| 白银市| 攀枝花市| 横峰县| 都匀市| 新营市| 巴楚县| 黄冈市| 鄱阳县| 郴州市| 广水市|