另外一个是关于Session取值的
代码如下
@Controller
@SessionAttributes(value="user")
@RequestMapping("/session")
public class SessionController {
@RequestMapping(method=RequestMethod.GET)
public String setUser(ModelMap map){
User user=new User();
user.setAddress("xxx");
user.setUserName("yyy");
map.put("user", user);
return "request/userForm";
}
@ResponseBody
@RequestMapping(value="getUser",method=RequestMethod.GET)
public String getUser(@ModelAttribute("user")User user){
System.out.println(user.getUserName());
return user.getUserName();
}
}
在Controller上加上注解@SessionAttributes(value="user"),再使用ModelMap的put方法(非addAttribute方法),然后在getUser方法中,使用@ModelAttribute("user")即可取得session中的user对象
Maven依赖:
4.0.5.RELEASE
3.1.0
1.2
1.4.7
1.3.1
1.9.13
org.codehaus.jackson
jackson-mapper-asl
${jackson}
org.springframework
spring-webmvc
${springframework}
javax.servlet
javax.servlet-api
${servlet}
jstl
jstl
${jstl}
com.thoughtworks.xstream
xstream
${xstream}
Spring配置
@EnableWebMvc// 启用SpringMVC
@ComponentScan(basePackages = "org.xdemo.example.springmvc")// 配置包扫描路径
@Configuration// 启用注解式配置
//继承WebMvcConfigurerAdapter可以是我们可以重写一些资源或者一些处理器
public class AppConfig extends WebMvcConfigurerAdapter {
/**
* 设置资源路径
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/").setCachePeriod(31556926);
}
/**
* 设置默认的Servlet请求处理器
*/
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
/**
* 设置视图解析器,以及页面路径
*
* @return
*/
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
/**
* 配置消息转换器
*/
@Override
public void configureMessageConverters(
List
> converters) {converters.add(converter());
}
/**
* JSON格式的支持,这个很重要,只有加上这个JSON的消息转换器,才能够支持JSON格式数据的绑定
* @return
*/
@Bean
public MappingJacksonHttpMessageConverter converter() {
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
return converter;
}
}