项目场景:
最近在做一个springboot项目,可能很长时间没碰了,很多注解的机制会用,但是具体的意思还不是很熟,需要加强下
问题描述:
遇到的问题:在页面跳转的时候,总是显示内部错误,无法跳转到正常的页面,下面是源码,页面用的公共方法跳转
/**
* 查询信息反馈信息
*/
@GetMapping("/xxFeedback/{id}")
@ResponseBody
public String xxFeedback(@PathVariable("id") String djid,ModelMap mmap)
{
TbMzXxdjVo tbMzXxdjVo = tbMzXxdjService.selectXxFeedback(djid);
mmap.put("tbMzXxdjVo",tbMzXxdjVo);
return prefix + "/xxFeedback";
}
原因分析:
问题就出现在 @ResponseBody 注解上面,
解释:指示方法返回值应该直接写入Response Body(不再走视图处理器) Spring使用HttpMessageConverter实现了返回对象转为响应体,返回json 字符串。
例如:
@RequestMapping("/login")
@ResponseBody
public User login(User user){
return user;
}
User字段:userName pwd
那么在前台接收到的数据为:{"userName":"xxx","pwd":"xxx"}
解决方案:
把@ResponseBody注解去掉就好了,走视图处理器。还是要经常看看复习复习基础知识,以免忘记。