SpringMvc根據(jù)返回值類型不同處理響應(yīng)的方法
一、介紹
我們可以通過控制器方法的返回值設(shè)置跳轉(zhuǎn)的視圖。控制器支持如void,String,ModelAndView類型。
二、返回值為void
返回值是void會跳轉(zhuǎn)到名字是前綴(也就是你前面編寫的視圖解析器中的)+方法路徑名+后綴的jsp頁面
(1)控制層方法
@RequestMapping("/test") public void t1(){ System.out.println("hello!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); }
路徑是test,方法執(zhí)行完畢以后會跳轉(zhuǎn)到test.jsp頁面中(前提是配置好了視圖解析器,不然可能會報錯)
三、返回值為String
(1)控制層
此時跳轉(zhuǎn)到的的是前綴+返回值+后綴的jsp頁面。
@RequestMapping("/c2/h1") public String t2(){ System.out.println("90"); return "test"; }
四、返回值為ModelAndView
該對象是SpringMvc提供的對象,它可以向request域設(shè)置數(shù)據(jù)并指定跳轉(zhuǎn)的頁面。該對象包含Model對象和View對象。
Model:向request域中設(shè)置數(shù)據(jù)。
View:指定跳轉(zhuǎn)的頁面
(1)控制層方法
@RequestMapping("/c2/h1") public ModelAndView t3(){ //創(chuàng)建ModelAndView對象 ModelAndView modelAndView=new ModelAndView(); //獲取Model對象,本質(zhì)上是一個Map Map<String,Object> model=modelAndView.getModel(); //使用Model對象向request域設(shè)置數(shù)據(jù) model.put("name","大大大大大牛"); //使用View對象設(shè)置跳轉(zhuǎn)的路徑為/test.jsp modelAndView.setViewName("test"); return modelAndView; }
(2)jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1>request=${requestScope.name}</h1> </body> </html>
這里的${requestScope.name}是el表達(dá)式寫法,所以在web.xml中要添加支持el表達(dá)式
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> </web-app>
到此這篇關(guān)于SpringMvc根據(jù)返回值類型不同處理響應(yīng)的文章就介紹到這了,更多相關(guān)SpringMvc返回值類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringData如何通過@Query注解支持JPA語句和原生SQL語句
這篇文章主要介紹了SpringData如何通過@Query注解支持JPA語句和原生SQL語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java中Future和FutureTask的示例詳解及使用
Java中的Future和FutureTask通常和線程池搭配使用,用來獲取線程池返回執(zhí)行后的返回值,下面這篇文章主要給大家介紹了關(guān)于Java中Future和FutureTask使用的相關(guān)資料,需要的朋友可以參考下2021-11-11StackTraceElement獲取方法調(diào)用棧信息實例詳解
這篇文章主要介紹了StackTraceElement獲取方法調(diào)用棧信息實例詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02Spring BeanPostProcessor接口使用詳解
本篇文章主要介紹了Spring BeanPostProcessor接口使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01Spring6當(dāng)中獲取Bean的四種方式小結(jié)
Spring 為Bean 的獲取提供了多種方式,通常包括4種方式,(也就是說在Spring中為Bean對象的創(chuàng)建準(zhǔn)備了多種方案,目的是:更加靈活),本文將通過代碼示例詳細(xì)的給大家介紹了一下這四種方式,需要的朋友可以參考下2024-04-04使用Maven創(chuàng)建和管理多模塊項目的詳細(xì)步驟
使用Maven進(jìn)行多模塊項目管理是一種常見的做法,它可以幫助你組織大型項目,使其結(jié)構(gòu)更加清晰,便于維護(hù)和構(gòu)建,以下是使用Maven創(chuàng)建和管理多模塊項目的詳細(xì)步驟,需要的朋友可以參考下2024-10-10