SpringMVC实现跳转和重定向的方式比较简单。常见的情况下,都是配置了视图解析器,自动添加前缀(文件的路径)和后缀(.jsp),以return "xxx"的方式进行转发。
视图解析器(配置于spring.xml文件中):
<!-- 视图解析器-->
<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 ControllerDemo1 {
@RequestMapping("/s1")
public String funtion1(Model model) {
model.addAttribute("msg", "fff");
return "h";
}
}
我们也可以手动设置跳转方式为重定向,在""里面加上redirect:即可。(似乎WEB-INF下面的不可以?)
@Controller
public class ControllerDemo1 {
@RequestMapping("/s1")
public String funtion1(Model model) {
model.addAttribute("msg", "fff");
return "redirect:h./jsp";
}
}
没有配置视图解析器的话,通过以下方式加上jsp文件的路径,也可实现转发和重定向。这就是SpringMVC的牛逼之处。
return "forward://" 转发
return "redirect://" //重定向