91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Spring?MVC數據響應如何處理

發布時間:2022-05-24 17:11:44 來源:億速云 閱讀:133 作者:iii 欄目:開發技術

本篇內容介紹了“Spring MVC數據響應如何處理”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. 內置視圖解析器

Spring MVC 中的視圖解析器負責解析視圖,可以通過在配置文件中定義一個ViewResolver來配置視圖解析器,配置如下:

<!--默認的內置視圖解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--設置前綴-->
    <property name="prefix" value="/WEB-INF/templates"/>
    <!--設置后綴-->
    <property name="suffix" value=".html"/>
</bean>

定義了一個id為viewResolver的視圖解析器,并設置了前綴后綴,這樣設置的好處就是簡化方法中定義的路徑。在訪問視圖解析器是就會自動的增加前綴和后綴。

2. 使用原生servlet的對象傳遞數據

HttpServletRequest:通過request對象獲取請求信息

控制器方法:

//使用servlet傳遞數據
@RequestMapping("/testServlet")
public String testRequestByServletAPI(HttpServletRequest request){
    request.setAttribute("test","hello,servlet");
    return "success";
}

3. 使用ModelAndView對象傳輸數據

當使用modelAndView對象的時候,返回值的類型也必須是ModelAndView,可以將要跳轉的頁面設置成view的名稱,來完成跳轉的功能,同時數據也是放到request域中。

使用方式:

  • 創建ModelAndView對象

  • 向模型對象中添加數據

  • 設置邏輯視圖名

  • 返回ModelAndView對象

控制器方法:

 @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        //創建ModelAndView對象
        ModelAndView mav = new ModelAndView();
        //處理模型數據,即向請求域request共享數據
        mav.addObject("test","Hello ModelAndView");
        //設置視圖名稱
        mav.setViewName("success");
        return mav;
    }

ModelAndView對象的作用:

將控制器方法中處理的結果數據傳遞到結果頁面,也就是把在結果頁面上需要的數據放到ModelAndView對象中即可,其作用類似于request對象的setAttribute方法的作用,用來在一個請求過程中傳遞處理的數據。

4. 使用Model、Map、ModelMap傳輸數據

在SpringMVC中除了可以使用原生servlet的對象傳遞數據之外,還有什么其他的方式呢?
可以在方法的參數上傳入Model,ModelMap,Map類型,此時都能夠將數據傳送回頁面。

控制器方法:

@RequestMapping("/testModel")
public String testModel(Model model){
     model.addAttribute("test","Hello Model");
     return "success";
 }

 @RequestMapping("/testMap")
 public String testMap(Map<String,Object> map){
     map.put("test","Hello Map");
     return "success";
 }

 @RequestMapping("/testModelMap")
 public String testModelMap(ModelMap modelMap){
     modelMap.addAttribute("test","hello modelmap");
     return "success";
 }

如果方法的入參為Map,Model和ModelMap類型,Spring MVC會將隱含模型的引用傳遞給這些入參。在方法體內,開發者可以通過這個入參對象訪問到模型中的所有數據,也可以向模型中添加新的屬性數據,作用類似于request對象的setAttribute方法的作用: 用來在一個請求過程中傳遞處理的數據。

三者之間的關系:

  • Map為原生的儲存鍵值的對象,里面很多的方法可以使用;

  • Model 只有寥寥幾個方法只適合用于儲存數據,簡化了新手對于Model對象的操作和理解;

  • ModelMap 繼承了 LinkedMap ,除了實現了自身的一些方法,同樣的繼承 LinkedMap 的方法和特性;

  • Map、Model、ModelMap的底層都是使用BindingAwareModelMap。

  • Map、Model和ModelMap返回的是地址路徑

Spring?MVC數據響應如何處理

5. 使用session傳輸數據

HttpSession:通過session對象得到session中存儲的對象

控制器方法

//向session域共享數據
@RequestMapping("/testSession")
 public String testSession(HttpSession httpSession){
     httpSession.setAttribute("testSessionScope","hello session");
     return "success";
 }

 //向application域共享數據
 @RequestMapping("/testApplication")
 public String testApplication(HttpSession session){
     ServletContext servletContext = session.getServletContext();
     servletContext.setAttribute("testApplicationScope","hello application");
     return "success";
 }

“Spring MVC數據響應如何處理”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

江陵县| 耒阳市| 天等县| 富锦市| 淅川县| 安塞县| 昌乐县| 峨眉山市| 菏泽市| 和平区| 黄冈市| 墨江| 云和县| 富川| 盖州市| 留坝县| 兴隆县| 阿城市| 青神县| 澄迈县| 边坝县| 玉树县| 和硕县| 凌源市| 彩票| 岗巴县| 江达县| 仁化县| 休宁县| 姜堰市| 门源| 金溪县| 阿鲁科尔沁旗| 东光县| 海丰县| 松江区| 策勒县| 繁峙县| 汉川市| 巧家县| 吉木乃县|