controller層返回值類型為Integer,運行報錯:
Unknown return value type: java.lang.Integer
解決辦法:在此方法上寫上注解 @ResponseBody 。
@responseBody注解的使用
1、
@responseBody注解的作用是將controller的方法返回的對象通過適當的轉換器轉換為指定的格式之后,寫入到response對象的body區,通常用來返回JSON數據或者是XML
數據,需要注意的呢,在使用此注解之后不會再走試圖處理器,而是直接將數據寫入到輸入流中,他的效果等同於通過response對象輸出指定格式的數據。
2、
@RequestMapping("/login")
@ResponseBody
public User login(User user){
return user;
}
User字段:userName pwd
那么在前台接收到的數據為:'{"userName":"xxx","pwd":"xxx"}'
效果等同於如下代碼:
@RequestMapping("/login")
public void login(User user, HttpServletResponse response){
response.getWriter.write(JSONObject.fromObject(user).toString());
}