日期类型参数传递
SpringMVC对于 2088/08/08 这样的格式日期,可以自动转为Date类型,即形参可以直接写为
public String dataParam(Date date)
但是如果发过来的数据是其他的格式,比如 2088-08-18 2088/08/28 8:08:08 等等其他的,则需要使用注解进行指定
public String dataParam(@DateTimeFormat(pattern="yyyy-MM-dd") Date date)
public String dataParam(@DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss") Date date)
响应
响应页面/跳转页面:不要加@ResponseBody,返回一个文件名就好了 响应文本数据(字符串)
@ResponseBody
public String toText(){
System.out.println("返回纯文本数据");
return "reponse text";
}
响应JSON数据(得有 JackSon坐标)返回一个对象,对象自动转为JSON了。
@ResponseBody
public User toJSON(){
System.out.println("返回 JSON对象数据");
User user = new User();
user.setName("itcast");
user,setAge(17);
return user;
}
关于 @ResponseBody,设置当前返回值为响应体,如果返回值是String,就直接返回出去,如果是POJO,就转为前面可识别的数据,再给响应数据,比如对象转JSON,集合转JSON 有了@ResponseBody,才会激活类型的自动转换,由HttpMessageConverter接口的实现类进行转换的,实现类中需要用到 JackSon坐标 @ResponseBody注解作用与原理 @ResponseBody详解
总结:除了响应页面,其他(响应字符串,响应JSON)都需要@ResponseBody,响应JSON需要配合POJO来使用。
|