springmvc向页面传值与视图解析器配置、springmvc跳转方式

一、向页面传值
响应跳转,如何绑定参数
第一种:原生方式

	@RequestMapping("/form5")
public void form5(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException{
	req.setAttribute("message5", "tom");
	req.getRequestDispatcher("/jsp/model2.jsp").forward(req, resp);
}
第二种:ModelAndView方式
//使用ModelAndView对象
@RequestMapping("/form6")
public ModelAndView form6(){
	ModelAndView mv = new ModelAndView();
	mv.addObject("message6", "jack");
	mv.setViewName("/jsp/model2.jsp");
	return mv;
}
第三种:使用Model对象
	//使用Model对象 -- 【掌握】
@RequestMapping("/form7")
public String form7(Model model){
	model.addAttribute("message7", "james");
	return "/jsp/model2.jsp";
}
注意:
	在SpringMvc中默认跳转方式是转发:默认转发 ,因为1.可以共享request中的数据   2.可以转发到WEB-INF  3.效率要高一些
	这三种方式,数据默认都是绑定在request中

二、视图解析器
实际项目中通常会把返回数据统一交给视图解析器做处理
解析视图和数据的配置了视图解析器之后,不管返回什么样的值都会默认自动经过视图解析器
配置如下:

<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<!-- 前缀prefix:会自动在返回值前面加个上/ -->
	<property name="prefix" value="/"></property>
	<!-- 前缀suffix:会自动在返回值后面加个上.jsp -->
	<property name="suffix" value=".jsp"></property>
</bean>

三、跳转方式
区别:
转发:一次请求,可以共享request的数据,地址栏不会变化,不可以转到外部应用
重定向:多此请求,不可以共享request的数据,地址栏会变,可以定向到外部应用
SpringMvc中的转发和重定向写法:
转发:

  1. 默认转发:会经过视图解析器
@RequestMapping("form6")
		//默认转发,会经过视图解析器。
		public ModelAndView getResp5(){
			ModelAndView m=new ModelAndView();
			m.addObject("message6", "ModelAndView");
			m.setViewName("jsp/model2");
			return m;
		}
2.显示转发:forward:xxx
			不会经过视图解析器,一般不用。
@RequestMapping("form6")
		//显示转发forward,不会经过视图解析器。一般不会使用
		public ModelAndView getResp3(){
			ModelAndView m=new ModelAndView();
			m.addObject("message6", "ModelAndView");
			m.setViewName("forward:/jsp/model2.jsp");
			return m;
		}
	重定向:redirect:xxx
		不会经过视图解析器
@RequestMapping("form6")
		//redirect,不会经过视图解析器。
		public ModelAndView getResp4(){
			ModelAndView m=new ModelAndView();
			m.addObject("message6", "ModelAndView");
			m.setViewName("redirect:/jsp/model2.jsp");
			return m;
		}
发布了23 篇原创文章 · 获赞 1 · 访问量 170

猜你喜欢

转载自blog.csdn.net/weixin_45528650/article/details/105446584