文档章节

springMVC--(讲解2)结果跳转方式

求是科技
 求是科技
发布于 2016/10/07 16:14
字数 477
阅读 70
收藏 2

#方式1:通过ModelAndView实现
设置ModelAndView对象,根据viewName和视图解析器跳转到指定的页面。
页面路径:视图解析器前缀+viewName+视图解析器后缀
ModelAndView设置如下

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public ModelAndView hello(HttpServletRequest req,HttpServletResponse resp){
		ModelAndView mav = new ModelAndView();
		//封装要显示的视图中的数据
		mav.addObject("msg","hello springmvc");
		//视图名,该视图是/WEB-INF/jsp/hello.jsp
		mav.setViewName("hello");
		return mav;
	}

视图解析器如下

	<bean id="viewResolver"  class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

#方式2:通过ServletAPI实现,这个不需要配置视图解析器
通过HttpServletResponse来进行输出

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException{
		resp.getWriter().println("hello mvc");
	}

#方式3:通过HttpServletResponse来实现重定向

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException{
		//HttpServletResponse输出
		//resp.getWriter().println("hello mvc");
		//HttpServletResponse重定向  
		resp.sendRedirect("index.jsp");
	}

#方式4:通过HttpServletRequest转发

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public void hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//HttpServletResponse输出
		//resp.getWriter().println("hello mvc");
		//HttpServletResponse重定向  
		//resp.sendRedirect("index.jsp");
		//HttpServletRequest转发
		req.setAttribute("msg", "显示内容");
		req.getRequestDispatcher("index.jsp").forward(req, resp);
	}

#方式5:通过springmvc实现重定向与转发(没有视图解析器)
重定向与转发的区别
地址栏里的地址没有改变的话,是转发;改变了则是重定向。

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1
		//return "index.jsp";
		//转发方式2
		return "forward:index.jsp";
	}

重定向

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1
		//return "index.jsp";
		//转发方式2
		//return "forward:index.jsp";
		//重定向(地址栏会改变)
		return "redirect:index.jsp";
	}

#方式6:通过springmvc实现重定向与转发(有视图解析器)

	@RequestMapping(value="/hello",method= RequestMethod.GET)
	public String hello(HttpServletRequest req,HttpServletResponse resp) throws IOException, ServletException{
		//转发方式1(有视图解析器)
		//return "hello";
		//重定向(注意:重定向是不需要使用视图解析器的)
		return "redirect:index.jsp";
	}

© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 89
博文 453
码字总数 228281
作品 0
成都
后端工程师
SpringMVC从Controller跳转到另一个Controller

需求背景 需求:spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。 本来以为挺简单的一件事情,并且个人...

嘻哈开发者
2015/04/25
0
1
SpringMVC——redirect重定向跳转传值

spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。 首先先来介绍一下不带参数的重定向: 我在后台一个c...

引鸩怼孑
2015/04/10
0
0
史上最简单的 Spring MVC 教程(三)

1 前言 在史上最简单的 Spring MVC 教程(二)中,咱们讲解了常见的处理器映射(handlerMapping),并给出了应用示例。在本篇博客中,咱们讲解常见的控制器(Controller),在这里有一点需要...

qq_35246620
2017/01/26
0
0
SpringMVC常用注解,返回方式,路径匹配形式,验证

常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping 这个注解 @RequestMapping 可以标注在类定义处,将 Cont...

随智阔
2014/03/09
0
0
Spring Security3源码分析-CAS支持

Spring Security3对CAS的支持主要在这个spring-security-cas-client-3.0.2.RELEASE.jar包中 Spring Security和CAS集成的配置资料很多。这里讲解的比较详细 http://lengyun3566.iteye.com/blo...

Dead_knight
2014/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
49分钟前
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部