赞
踩
我们随便写一个什么东西,点击保存评论。
控制台成功打印出来了,这说明代码没问题。
OK,继续,接下来,我们就需要把这个信息保存到数据库里了。
在调用CommentService之前,我们先看一下要保存哪些东西。(这些信息去CommentService里面看,之前写过一个saveComment方法)
保存信息的清单:
id,user_id,content,article_id,create_time,is_delete
id自然不用多说,我们采用UUID就行了。user_id是用户ID,就是当前登录的那个人。content的话,就是评论的内容,也就是我们刚刚取到的txt。article_id是文章的id,到时候加载评论的时候,肯定就是通过这个字段来查找的。create_time是创建日期,is_delete为是否删除,我们默认给他一个0,表示不删除。
好的,这些东西确认好了,就开始写代码吧。
通过以上的分析,我们是不是还要把文章ID从前台传过来呢?好的,说干就干。
回到detail.jsp,给点击事件中的JSON对象添加一个属性,把文章ID拿到:
$(“.button”).eq(0).on(‘click’,function(){
var txt = $(‘#commenttxt’).val();
. p o s t ( " .post(" .post("{basePath}/controller/CommentController.jsp",{txt : txt , articleId : “${article.id}”},function(data){
data = data.trim();
if(data == ‘-1’){
alert(‘请先登录!’);
}
});
});
修改后的CommentController
<%@page import=“bean.User”%>
<%@page import=“bean.Comment”%>
<%@page import=“service.CommentService”%>
<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>
<%
User user = (User)session.getAttribute(“user”);
if(user==null){//代表用户没有登陆
out.print(“-1”);
return;
}
String txt = request.getParameter(“txt”).toString();
String articleId = request.getParameter(“articleId”).toString();
CommentService commentService = new CommentService();
Comment comment = new Comment();
comment.setId(UUID.randomUUID().toString());
comment.setUserId(user.getId());
comment.setArticleId(articleId);
comment.setContent(txt);
commentService.saveComment(comment);
%>
测试:
哎哟不错哦~~ 貌似木有问题。
再看看数据库。
哎呀呀,真的有了!
那么这是不是就说明,评论功能到目前都是正确的?
接下来,我们是不是还应该给用户一点反馈表示评论已经成功保存了?
我们在CommentController里面,最后再加上返回一个标志位 1 即可。
out.print(“1”);
然后前台判断,如果返回的是1,那么就提示“保存成功!”
$(“.button”).eq(0).on(‘click’,function(){
var txt = $(‘#commenttxt’).val();
. p o s t ( " .post(" .post("{basePath}/controller/CommentController.jsp",{txt : txt , articleId : “${article.id}”},function(data){
data = data.trim();
if(data == ‘-1’){
alert(‘请先登录!’);
}else if(data == ‘1’){
alert(‘保存成功!’);
}
});
});
这样不就好了吗?O(∩_∩)O~~
#2.评论加载
评论保存已经没问题了,接下来就是加载。
回到detail.jsp页面,第一步,是不是要导包啊?
<%@ page language=“java” import=“service.CommentService”%>
第二步,就是获取CommentService的实例对象。然后把我们需要的评论都查询出来。(因为之前查询文章内容的时候,已经获取到id了,所以这里不再获取)
<%
CommentService commentService = new CommentService();
List<Map<String,Object>> list = commentService.getCommentsByArticleId(id);
pageContext.setAttribute(“comments”, list);
System.out.println(list);
%>
测试,刷新一下页面,要是不起作用的话呢,就重启一下tomcat。
控制台成功打印出了信息:
[{content=OK, username=zhangsan}, {content=很不错的文章,赞一个!, username=zhangsan}]
接下来,就是如何把这些数据贴到页面上的问题了。
怎么贴呢,是不是还要循环一下?
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了
怎么贴呢,是不是还要循环一下?
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了
[外链图片转存中…(img-1gTULKLd-1714527725167)]
[外链图片转存中…(img-sGQmBNab-1714527725168)]
[外链图片转存中…(img-fcaTFXWx-1714527725168)]
[外链图片转存中…(img-RVKGXH0p-1714527725168)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。