Springmvc pasa valores a la página, ve la configuración del analizador, método de salto springmvc

1. Pasar valores a la página
Cómo vincular parámetros en respuesta a saltos
Primero: forma nativa

	@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中

En segundo lugar, el analizador de vistas En
los proyectos reales, los datos devueltos generalmente se entregan al analizador de vistas para su procesamiento.
Después de que el analizador de vistas esté configurado para analizar la vista y los datos, independientemente del valor que se devuelva, pasará automáticamente por el analizador de vistas de forma predeterminada. La
configuración es la siguiente:

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

3. Método de salto
Diferencia:
Reenviar: una solicitud, puede compartir los datos de la solicitud, la barra de direcciones no cambiará, no puede ir a una aplicación externa
Redirigir: más que esta solicitud, no puede compartir los datos de la solicitud, la barra de direcciones cambiará, puede
Reenvío y redireccionamiento en SpringMvc dirigido a aplicaciones externas :
Reenvío:

  1. Reenvío predeterminado: pasará por la resolución de vista
@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 artículos originales publicados · Me gusta1 · Visitas 170

Supongo que te gusta

Origin blog.csdn.net/weixin_45528650/article/details/105446584
Recomendado
Clasificación