内部资源视图解析器只能对转发(forward)的方式有效
<!--配置内部资源视图解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
对于重定向无效
@RequestMapping("/user")
@Controller
public class UserController
{
@RequestMapping(value = "/save",method = RequestMethod.GET,params = {"username"})
public String save()
{
System.out.println("controller save running...");
return "redirect:/WEB-INF/jsp/success.jsp";
}
}
并且对于重定向的方式,WEB-INF目录下的资源文件进行保护,不能访问
也可以使用modelAndView的方式进行跳转、并且可以给jsp传参
@RequestMapping(value = "/save1",method = RequestMethod.GET)
public ModelAndView save1()
{
/*
* model:模型,作用 封装数据
* view:属兔 作用 展示数据
* */
ModelAndView modelAndView = new ModelAndView();
//设置模型数据
modelAndView.addObject("username","suqi");
//设置视图名称
modelAndView.setViewName("success");
return modelAndView;
}
不过jsp需要设置 isELIgnored="false"
<%@ page contentType="text/html; charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<body>
<h1>success!!${username}</h1>
</body>
</html>
也可以这样,springMVC会通过注解自动传递一个model对象
@RequestMapping(value = "/save3",method = RequestMethod.GET)
public String save3(Model model)
{
model.addAttribute("username","qiqiqi");
return "success";
}
还可以这样,springMVC会通过注解自动传递一个HttpServletRequest 对象 (不常用)
@RequestMapping(value = "/save4",method = RequestMethod.GET)
public String save4(HttpServletRequest request)
{
request.setAttribute("username","苏七");
return "success";
}