标签:十一 discussPostId id 帖子 发布 post 标题 public
在帖子标题上增加访问详情页面的链接
一、业务层
DiscussPostService
添加根据id查找帖子的方法。
public interface DiscussPostService extends IService<DiscussPost> {
//...
DiscussPost findDiscussPostById(int id);
}
DiscussPostServiceImpl
通过 MyBatis Plus 实现。
@Service
public class DiscussPostServiceImpl extends ServiceImpl<DiscussPostMapper, DiscussPost>
implements DiscussPostService{
@Override
public DiscussPost findDiscussPostById(int id) {
return getById(id);
}
}
二、表现层
将帖子内容放到模板中。
@Controller
@RequestMapping("/discuss")
public class DiscussPostController implements CommunityConstant {
// ...
@RequestMapping(path = "/detail/{discussPostId}", method = RequestMethod.GET)
public String getDiscussPost(@PathVariable("discussPostId") int discussPostId, Model model) {
// 帖子
DiscussPost post = discussPostService.findDiscussPostById(discussPostId);
model.addAttribute("post", post);
// 作者
User user = userService.findUserById(post.getUserId());
model.addAttribute("user", user);
// 将来处理评论
return "/site/discuss-detail";
}
}
三、模板处理
1.给帖子标题添加超链接
index.html
<a th:href="@{|/discuss/detail/${map.post.id}|}" th:utext="${map.post.title}">帖子标题</a>
鼠标放在标题上时会显示入下的超链接
2.处理帖子详情页
discuss-detail.html
<!-- 无关内容省略-->
<span th:utext="${post.title}">帖子标题</span>
<img th:src="${user.headerUrl}" class="align-self-start mr-4 rounded-circle user-header" alt="用户头像" >
<div class="mt-0 text-warning" th:utext="${user.username}">用户名</div>
<b th:text="${#dates.format(post.createTime,'yyyy-MM-dd HH:mm:ss')}">创建时间</b>
<div class="mt-4 mb-3 content" th:utext="${post.content}">帖子内容</div>
标签:十一,discussPostId,id,帖子,发布,post,标题,public 来源: https://www.cnblogs.com/dalelee/p/16610257.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。