4.重定向和转发
ModelAndView
设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .
页面 : {视图解析器前缀} + viewName +{视图解析器后缀}
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean>应
对应的controller类
public class ControllerTest1 implements Controller {
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
//返回一个模型视图对象
ModelAndView mv = new ModelAndView();
mv.addObject("msg","ControllerTest1");
mv.setViewName("test");
return mv;
}
}
SpringMVC
-
转发(不加视图解析器)
@Controller public class ModelTest1 { @RequestMapping("/m1/t1") public String test(Model model){ //转发 model.addAttribute("msg","modeltest1"); return "/WEB-INF/jsp/test.jsp"; } }
-
重定向(不加视图解析器)
@Controller public class ModelTest1 { @RequestMapping("/m1/t1") public String test(Model model){ //重定向 model.addAttribute("msg","modeltest1"); return "redirect:/index.jsp"; } }
-
转发(加视图解析器)
<!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/" /> <!-- 后缀 --> <property name="suffix" value=".jsp" /> </bean>
@Controller public class ModelTest1 { @RequestMapping("/m1/t1") public String test(Model model){ //转发 model.addAttribute("msg","modeltest1"); return "test"; /*return "redirect:/index.jsp";*/ } }
-
重定向(加视图解析器)
<!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/" /> <!-- 后缀 --> <property name="suffix" value=".jsp" /> </bean>
@Controller public class ModelTest1 { @RequestMapping("/m1/t1") public String test(Model model){ //转发 model.addAttribute("msg","modeltest1"); return "redirect:/index.jsp"; } }