BUG登记
描述:日记详情页,类型字段为数字
严重程度:中等
紧急程度:中等
问题复现:打开日记详情页,日记类型为数字。
原因
获取日记详情的时候,未对日志类别进行转码。
问题代码
解决方案
在后台接口中返回中文的日记类型即可。
我们可以给TblSynBlog类增加一个blogTypeName字段,用于接收blogType的中文字符。
@TableField(exist = false) private String blogTypeName;
然后,BlogController增加ISysBlogTypeService的注入。
@Autowired ISysBlogTypeService blogTypeService;
修改get方法,增加blogTypeName
@RequestMapping("/get") @SaCheckLogin public TblSynBlog get(@RequestParam Long id ){ TblSynBlog blog = blogService.selectOne(id); SysBlogType sysBlogType = blogTypeService.selectOne(Integer.parse(blog.getBlogType())); blog.setBlogTypeName(sysBlogType.getTypeName()); return blog; }
不过这不是最主要的,因为detail.jsp中的数据我们是直接写死在PageController中的。
修改后:
@RequestMapping("diary/{id}.html") @SaCheckLogin public ModelAndView getDiary(@PathVariable Long id, ModelAndView mav){ TblSynBlog tblSynBlog = blogService.selectOne(id); SysBlogType sysBlogType = sysBlogTypeService.selectOne(Integer.parseInt(tblSynBlog.getBlogType())); tblSynBlog.setBlogTypeName(sysBlogType.getTypeName()); mav.addObject("blog",tblSynBlog); mav.addObject("statistics",blogService.getBlogsStatistics()); mav.setViewName("detail"); return mav; }
这样返回就会有blogTypeName,detail.jsp也要更新一下字段
<div class="title2">发布时间:${blog.createDate} 日志类别:${blog.blogTypeName}</div>
搞定。