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

SpringMVC中ModelAndView用法小結(jié)

 更新時(shí)間:2023年12月10日 12:00:30   作者:ywb201314  
本文主要介紹了SpringMVC中ModelAndView用法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

ModelAndView 作用

1.返回到指定的頁(yè)面

ModelAndView構(gòu)造方法可以指定返回的頁(yè)面名稱(chēng)

例:return new ModelAndView(“redirect:/m07.jsp”);

通過(guò)setViewName()方法跳轉(zhuǎn)到指定的頁(yè)面

例:mav.setViewName(“hello”);

2.返回參數(shù)到指定頁(yè)面的request作用于中

使用addObject()設(shè)置需要返回的值,addObject()有幾個(gè)不同參數(shù)的方法,可以默認(rèn)和指定返回對(duì)象的名字,參數(shù)會(huì)返回到新頁(yè)面的request作用域中

ModelAndView 的3種用法

1.ModelAndView的第一種用法,先創(chuàng)建ModelAndView對(duì)象,再通過(guò)它的方法去設(shè)置數(shù)據(jù)與轉(zhuǎn)發(fā)的視圖名

  • setViewName(String viewName):‎設(shè)置此 ModelAndView 的視圖名稱(chēng), 由 DispatcherServlet 通過(guò) ViewResolver 解析‎
  • addObject(String attributeName, Object attributeValue):通過(guò)key/value的方式綁定數(shù)據(jù)
package com.gxa.spmvc.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.gxa.spmvc.entity.Student;

/**
 * SpringMVC的控制器(業(yè)務(wù)控制器)
 * 定義的方法就是一個(gè)請(qǐng)求處理的方法
 * @author caleb
 *
 */
@Controller
@RequestMapping("/user")
public class TestController {
    
    /**
     * 利用ModelAndView來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),給前端視圖
     * @return
     */
    @RequestMapping("/m06")
    public ModelAndView m06() {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("m06");
        modelAndView.addObject("message", "Hello World, Hello Kitty");
        return modelAndView;
    }
    
}

2.ModelAndView的第二種方法,可以直接通過(guò)帶有參數(shù)的構(gòu)造方法 ModelAndView(String viewName, String attributeName, Object attributeValue) 來(lái)返回?cái)?shù)據(jù)與轉(zhuǎn)發(fā)的視圖名

package com.gxa.spmvc.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.gxa.spmvc.entity.Student;

/**
 * SpringMVC的控制器(業(yè)務(wù)控制器)
 * 定義的方法就是一個(gè)請(qǐng)求處理的方法
 * @author caleb
 *
 */
@Controller
@RequestMapping("/user")
public class TestController {
    
    /**
     * 利用ModelAndView來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),給前端視圖
     * @return
     */
    @RequestMapping("/m07")
    public ModelAndView m07() {
        return new ModelAndView("m07", "message", "Hello World");
    }
    
}

3.ModelAndView的第三種用法,設(shè)置重定向

package com.gxa.spmvc.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.gxa.spmvc.entity.Student;

/**
 * SpringMVC的控制器(業(yè)務(wù)控制器)
 * 定義的方法就是一個(gè)請(qǐng)求處理的方法
 * @author caleb
 *
 */
@Controller
@RequestMapping("/user")
public class TestController {
    
    /**
     * ModelAndView默認(rèn)轉(zhuǎn)發(fā)
     * ModelAndView還是可以設(shè)置重定向
     * 1. 重定向另一個(gè)控制器
     * 2. 重定向具體的jsp頁(yè)面
     * @param name
     * @return
     */
    @RequestMapping("/{name}/m07")
    public ModelAndView m07(@PathVariable String name) {
        if (!"admin".equals(name)) {
            return new ModelAndView("redirect:/m07.jsp");
        }
        return new ModelAndView("m07");
    }
    
}

ModelAndView使用實(shí)例

要點(diǎn):

1.@RequestMapping 注解的使用

2.modelandview 的使用

3.jsp頁(yè)面request作用域的取值

4.視圖解析器配置

ModelAndView 使用代碼

package com.dgr.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@RequestMapping("mvc")
@Controller
public class TestRequestMMapping {
    
    @RequestMapping(value="/testModelAndView")
    public ModelAndView testModelAndView(){
        ModelAndView mav = new ModelAndView();
        mav.setViewName("hello");//跳轉(zhuǎn)新的頁(yè)面名稱(chēng)
        mav.addObject("address", "中國(guó)廣東省廣州市");//傳入request作用域參數(shù)
        return mav;
    }
}

跳轉(zhuǎn)前jsp頁(yè)面鏈接設(shè)置

<a href="mvc/testModelAndView" rel="external nofollow" >Test ModelAndView</a>

跳轉(zhuǎn)后jsp頁(yè)面以及request作用于取值

<title>New Page</title>
</head>
<body>
    <h1>ModelAndView 跳轉(zhuǎn)</h1>
    
    <br>
    
    ${requestScope.address}   
    
    <br>
    
    ${address }    

    <br>    
    
</body>

到此這篇關(guān)于SpringMVC中ModelAndView用法小結(jié)的文章就介紹到這了,更多相關(guān)SpringMVC ModelAndView內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中@Autowired @Resource @Inject三個(gè)注解有什么區(qū)別

    Spring中@Autowired @Resource @Inject三個(gè)注解有什么區(qū)別

    在我們使用Spring框架進(jìn)行日常開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)使用@Autowired, @Resource, @Inject注解來(lái)進(jìn)行依賴(lài)注入,下面來(lái)介紹一下這三個(gè)注解有什么區(qū)別
    2023-03-03
  • SpringBoot+WebSocket實(shí)現(xiàn)IM及時(shí)通訊的代碼示例

    SpringBoot+WebSocket實(shí)現(xiàn)IM及時(shí)通訊的代碼示例

    項(xiàng)目中碰到需要及時(shí)通訊的場(chǎng)景,使用springboot集成websocket,即可實(shí)現(xiàn)簡(jiǎn)單的及時(shí)通訊,本文介紹springboot如何集成websocket、IM及時(shí)通訊需要哪些模塊、開(kāi)發(fā)和部署過(guò)程中遇到的問(wèn)題、以及實(shí)現(xiàn)小型IM及時(shí)通訊的代碼,需要的朋友可以參考下
    2023-10-10
  • 深入解析Java的設(shè)計(jì)模式編程中建造者模式的運(yùn)用

    深入解析Java的設(shè)計(jì)模式編程中建造者模式的運(yùn)用

    這篇文章主要介紹了深入解析Java的設(shè)計(jì)模式編程中建造者模式的運(yùn)用,同時(shí)文中也介紹了建造者模式與工廠模式的區(qū)別,需要的朋友可以參考下
    2016-02-02
  • 史上最全圖文講解Java泛型

    史上最全圖文講解Java泛型

    泛型在java中有很重要的地位,在面向?qū)ο缶幊碳案鞣N設(shè)計(jì)模式中有非常廣泛的應(yīng)用,下面這篇文章主要給大家介紹了Java泛型的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • idea顯示springboot多服務(wù)啟動(dòng)界面service操作

    idea顯示springboot多服務(wù)啟動(dòng)界面service操作

    這篇文章主要介紹了idea顯示springboot多服務(wù)啟動(dòng)界面service操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 帶你深入理解MyBatis緩存機(jī)制

    帶你深入理解MyBatis緩存機(jī)制

    緩存是一般的ORM框架都會(huì)提供的功能,目的就是提升查詢(xún)的效率和減少數(shù)據(jù)庫(kù)的壓力,跟Hibernate 一樣,MyBatis 也有一級(jí)緩存和二級(jí)緩存,并且預(yù)留了集成第三方緩存的接口,這篇文章主要給大家介紹了關(guān)于MyBatis緩存機(jī)制的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 淺談byte和長(zhǎng)度為8的boolean數(shù)組互相轉(zhuǎn)換

    淺談byte和長(zhǎng)度為8的boolean數(shù)組互相轉(zhuǎn)換

    下面小編就為大家?guī)?lái)一篇淺談byte和長(zhǎng)度為8的boolean數(shù)組互相轉(zhuǎn)換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • Java應(yīng)用服務(wù)器之tomcat會(huì)話(huà)復(fù)制集群配置的示例詳解

    Java應(yīng)用服務(wù)器之tomcat會(huì)話(huà)復(fù)制集群配置的示例詳解

    這篇文章主要介紹了Java應(yīng)用服務(wù)器之tomcat會(huì)話(huà)復(fù)制集群配置的相關(guān)知識(shí),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • java中對(duì)象和JSON格式的轉(zhuǎn)換方法代碼

    java中對(duì)象和JSON格式的轉(zhuǎn)換方法代碼

    JSON格式可以輕松地以面向?qū)ο蟮姆绞睫D(zhuǎn)換為Java對(duì)象,下面這篇文章主要給大家介紹了關(guān)于java中對(duì)象和JSON格式的轉(zhuǎn)換方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • JavaWeb BeanUtils信息類(lèi)原理詳解

    JavaWeb BeanUtils信息類(lèi)原理詳解

    這篇文章主要介紹了JavaWeb BeanUtils信息類(lèi)原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論