目录 1. 页面跳转 2. 回写数据@ResponseBody注解
1. 页面跳转
转发,如果有视图解析器,要写全路径/pages/success.jsp
@RequestMapping ( "/save4" )
public String save4 ( HttpServletRequest req) { req. setAttribute ( "key" , "value 4" ) ; return "forward:/pages/success.jsp" ;
}
@RequestMapping ( value = "/redirect" )
public String testRedirect ( ) { return "redirect:/pages/success.jsp" ;
}
视图解析器(自动加上前后缀) https://editor.csdn.net/md/?articleId=108309962 ModelAndView对象
返回ModelAndView对象
@RequestMapping ( value = "/save1" ) public ModelAndView save1 ( ) { System. out. println ( "save running.." ) ; ModelAndView modelAndView = new ModelAndView ( ) ; modelAndView. setViewName ( "success" ) ; modelAndView. addObject ( "key" , "i am value" ) ; return modelAndView; }
ModelAndView 作为形参,springmvc框架自动注入
@RequestMapping ( "/save2" ) public ModelAndView save2 ( ModelAndView modelAndView) { modelAndView. setViewName ( "success" ) ; modelAndView. addObject ( "key" , "i am value 1" ) ; return modelAndView; }
model作为形参
@RequestMapping ( "/save3" ) public String save3 ( Model model) { model. addAttribute ( "key" , "i am value 3" ) ; return "success" ; }
2. 回写数据@ResponseBody注解
@ResponseBody注解简单介绍,用来返回字符串,对象。1. @ResponseBody 告知spring mvc框架,该方法,不进行视图跳转,直接进行视图响应2. 回写json,Jackson,(jackson-core, jackson-databind, jackson-annotations)3. 回写对象,或者集合, 封装对象或者转换json的步骤,需要繁琐的配置。RequestMappingHandlerAdapter注入集合。。4. 使用<mvc:annotation-driven/>自动集成转换json
@RequestMapping ( "/save5" ) @ResponseBody public String save5 ( ) { return "hello world !" ; }
返回json字符串,使用Jackson,导入pom
@RequestMapping ( "/save6" ) @ResponseBody public String save6 ( ) { User user = new User ( ) ; user. setName ( "jack" ) ; user. setAge ( 18 ) ; ObjectMapper objectMapper = new ObjectMapper ( ) ; String str = null; try { str = objectMapper. writeValueAsString ( user) ; } catch ( JsonProcessingException e) { e. printStackTrace ( ) ; } return str; }
@RequestMapping ( value = "/save7" ) @ResponseBody public User save7 ( ) { User user = new User ( ) ; user. setName ( "bitqian" ) ; user. setAge ( 19 ) ; return user; }
< bean id = " requestMappingHandlerAdapter" class = " org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" > < property name = " messageConverters" > < list> < bean class = " org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" /> </ list> </ property> </ bean>
< mvc: annotation-driven/>