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>

搞定。

posted on 2022-05-01 19:04  剽悍一小兔  阅读(5)  评论(0编辑  收藏  举报  来源