页面跳转
直接返回字符串
将与视图解析器的前后缀拼接后跳转。
<!--spring-mvc.xml-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/quick")
public String save(){
return "success";
}
}
转发地址为:/WEB-INF/views/success.jsp(默认为forward)
返回ModelAndView
@RequestMapping("/quick3")
public ModelAndView save3(ModelAndView modelAndView){
modelAndView.addObject("username","LittlePants");//可以在JSP中直接取数据
modelAndView.setViewName("success");
return modelAndView;
}
回写数据
回写字符串
因为Spring容器会提供许多对象,所以可以直接使用HttpServletResponse回写。
@RequestMapping(value = "quick4")
public void save5(HttpServletResponse resp) throws IOException{
response.getWriter().print("Hello World");
}
@ResponseBody注解,告知springMVC框架,不进行页面跳转而是进行回写。
@RequestMapping("quick5")
@ResponseBody
public String save5(){
return "你好啊!";
}
会出现中文乱码问题,需要在MVC配置中修改编码配置,改为UTF-8。
回写对象或集合
配置XML帮助你自动转换对象为JSON,也没有了中文乱码问题。
<!--spring-mvc.xml-->
<mvc:annotation-driven/>
@RequestMapping("quick7")
@ResponseBody
public List<Users> save7(){
List<Users> usersList = userService.findAll();
return usersList;
}