modelandview
modelandview 作用
1.返回到指定的页面
ModelAndView构造方法可以指定返回的页面名称
例:return new ModelAndView("redirect:/m07.jsp");
通过setViewName()方法跳转到指定的页面
例:mav.setViewName("hello");
2.返回参数到指定页面的request作用于中
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字,参数会返回到新页面的request作用域中
ModelAndView 的3种用法
1.ModelAndView的第一种用法,先创建ModelAndView对象,再通过它的方法去设置数据与转发的视图名
- setViewName(String viewName):设置此 ModelAndView 的视图名称, 由 DispatcherServlet 通过 Viewresolver 解析
- addObject(String attributeName, Object attributeValue):通过key/value的方式绑定数据
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的控制器(业务控制器)
* 定义的方法就是一个请求处理的方法
* @author caleb
*
*/
@Controller
@RequestMapping("/user")
public class TestController {
/**
* 利用ModelAndView来转发数据,给前端视图
* @return
*/
@RequestMapping("/m06")
public ModelAndView m06() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("m06");
modelAndView.addObject("message", "hello world, Hello Kitty");
return modelAndView;
}
}
2.ModelAndView的第二种方法,可以直接通过带有参数的构造方法 ModelAndView(String viewName, String attributeName, Object attributeValue) 来返回数据与转发的视图名
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的控制器(业务控制器)
* 定义的方法就是一个请求处理的方法
* @author caleb
*
*/
@Controller
@RequestMapping("/user")
public class TestController {
/**
* 利用ModelAndView来转发数据,给前端视图
* @return
*/
@RequestMapping("/m07")
public ModelAndView m07() {
return new ModelAndView("m07", "message", "Hello World");
}
}
3.ModelAndView的第三种用法,设置重定向
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的控制器(业务控制器)
* 定义的方法就是一个请求处理的方法
* @author caleb
*
*/
@Controller
@RequestMapping("/user")
public class TestController {
/**
* ModelAndView默认转发
* ModelAndView还是可以设置重定向
* 1. 重定向另一个控制器
* 2. 重定向具体的jsp页面
* @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使用实例
要点:
1.@RequestMapping 注解的使用
2.modelandview 的使用
3.jsp页面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");//跳转新的页面名称
mav.addObject("address", "中国广东省广州市");//传入request作用域参数
return mav;
}
}
跳转前jsp页面链接设置
<a href="mvc/testModelAndView">Test ModelAndView</a>
跳转后jsp页面以及request作用于取值
<title>New Page</title>
</head>
<body>
<h1>ModelAndView 跳转</h1>
<br>
${requestScope.address}
<br>
${address }
<br>
</body>
视图解析器配置
相关阅读
location.href和window.open的几种用法和区别
一、location.href常见的几种形式 self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 thi
android中wrap_content、fill_content、match_content
wrap_content: 表示大小刚好足够显示当前控件里的内容 设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容
我通过ajax,请求rest服务接口,需要返回一个对象作为ajax结果,此时我可以设置:@RequestMapping(value = "/query/{addrId}",method = R
RadioGroup的RadioButton简单用法——学习笔记
关于RadioButton,它的具体例子嘛,就好像是QQ啊、微信之类的app底部那几个按钮,不过他们是不是用RadioButton来实现的我不太清楚,但是R
Java中Map的 entrySet() 详解以及用法(四种遍历map的
Entry 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 Map中采用Entry内部类来表示一个映射项,映射项包含