springMvc--请求的跳转和传值

forword跳转页面的三种方式

1.使用serlvet

/**
* 使用forward跳转,传递基本类型参数到页面
* 注意:
* 1.使用servlet原生API Request作用域
*
*/
@RequestMapping("/test")
public String test(HttpServletRequest request,HttpServletResponse response){
String name = "张小三";
request.setAttribute("name",name);
return "/back/attr";
}

2.使用Model对象

/**
* 使用forward跳转,传递基本类型参数到页面
* 注意:
* 1.使用springmvc 封装好的Model对象(底层就是request作用域)
*/
@RequestMapping("/test1")
public String test1(Model model){
String name = "张小四";
model.addAttribute("name", name);
return "back/attr"; }

3.使用ModelAndView

/**
* 使用modelAndView
* 注意事项
* modelAndView对象中的数据只能被ModelAndView对象的视图获取
*/
@RequestMapping("/test2")
public ModelAndView test2(ModelAndView modelAndView){
String name = "张小五";
modelAndView.setViewName("back/attr");
modelAndView.addObject("name", name);
return modelAndView; }

当然也可以通过new 一个ModelAndView对象来实现

@RequestMapping("/test3")
public ModelAndView test3(){
String name = "张小六";
return new ModelAndView("back/attr", "name", name);
}

redirect跳转到页面

使用servlet

/**
* 使用redirect跳转 向页面传递数据
* 1.使用Servlet原生API Session ServletContext
*/ @RequestMapping("/test4")
public String test4(HttpServletRequest request,HttpSession session){
String name = "张晓霞";
session.setAttribute("name", name);
return "redirect:/back/attr.jsp";
}

使用ModelAndView

/**
* 使用redirect跳转 向页面传递数据
* 1..使用ModelAndView对象 modelAndView对象会把model中的数据以?形式拼接到地址栏后 可以使用${param.key}接受
*/
@RequestMapping("/test5")
public ModelAndView test5(){
return new ModelAndView("redirect:/back/attr.jsp","name","小张张");
}

跳转到Controller中的方法

forword跳转

redirect跳转类似

跳转到相同类中的方法:

/**
* 使用forword跳转到相同类中的某一方法
* 注意:
* 1.不需要加上类上的@RequestMapping的值
*/
@RequestMapping("/test00")
public String test00(){
return "forward:test1";
}

跳转到不同类中的方法

/**
* 使用forword跳转到不同类中的某一方法
* 注意:
* 1.需要加上类上的@RequestMapping的值:比如 :/hello
*/
@RequestMapping("/test01")
public String test01(){
return "forward:/hello/test";
}

最新文章

  1. Bootstrap基本类和组件学习二
  2. Unity自动打包Apk
  3. Jlink V7在MDK下使用Cortex-M3-Jlink模式开发STM32的说明
  4. 转载:python文件打开方式详解——a、a+、r+、w+区别
  5. Codevs 1010 过河卒
  6. CentOS安装配置Git服务器(gitosis)
  7. 【转】PHP程序员的技术成长规划
  8. 终端编写c程序
  9. 百度搜索URL参数 搜索关键字
  10. 原型(Prototype)模式
  11. mysql5.7 date类型无法设置'0000-00-00'默认值
  12. Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor
  13. 从零开始搭建支持http2的web服务
  14. Java框架spring 学习笔记(十九):事务管理(注解管理)
  15. 书城项目第五阶段---book表的curd
  16. JAVA项目中常用的异常处理情况
  17. Unity3d中PureMVC框架的搭建及使用资料
  18. Css的前世今生
  19. Unity中角度与弧度之间的相互转换
  20. JFinal Web开发学习(二)目录、架构、package设计

热门文章

  1. 一个 mr 作业跑的比较慢,如何来优化。
  2. NAND Flash结构及驱动函数
  3. python 函数 练习
  4. IO复用——poll系统调用
  5. mybatis 打印SQL
  6. 一步一步学Linq to sql(六):探究特性
  7. 3468-A Simple Problem with Integers 线段树(区间增减,区间求和)
  8. android service笔记
  9. Ubuntu下使用Git_2
  10. Python3 使用 logging.basicConfig() 配置输出日志中的中文乱码解决办法