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

SpringMVC中ModelAndView的使用及說(shuō)明

 更新時(shí)間:2022年11月22日 08:42:27   作者:風(fēng)中的劍  
這篇文章主要介紹了SpringMVC中ModelAndView的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

ModelAndView 作用

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

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

例:

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 的視圖名稱, 由 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è)面名稱
		mav.addObject("address", "中國(guó)廣東省廣州市");//傳入request作用域參數(shù)
		return mav;
	}
}

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

<a href="mvc/testModelAndView">Test ModelAndView</a>

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

<title>New Page</title>
</head>
<body>
	<h1>ModelAndView 跳轉(zhuǎn)</h1>

	
	${requestScope.address} 

	
	${address }  
	
</body>

視圖解析器配置

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論