实际上我想构建一个JSP,显示数据库中的帖子,并自动提供一个在每个帖子上写入文本的位置,当用户在评论框中输入文本时,该文本应保存在数据库中,并立即出现文本,并再次显示新的文本位置(评论框)应该出现用于输入文本。就像 Facebook 一样,我从互联网上搜索分配,但没有找到任何解决方案,任何人都可以在这种情况下帮助我,我将不胜感激。
从头开始实现就像重新发明轮子一样。最好的选择是使用 jQuery 库,例如 jQuery comments dcoumentation,它将为您提供整个结构。您需要提供对 servlet 的 ajax 调用的实现获取并发布评论。模板将在那里,唯一的事情是您需要提供功能的实现。让我知道任何需要的输入或使用它的挑战。
来自给定的库文档:
1) 将以下内容添加到您的 HTML 文件中
<link rel="stylesheet" type="text/css" href="css/jquery-comments.css">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-comments.js"></script>
2)初始化库
$('#comments-container').comments({
profilePictureURL: 'https://app.viima.com/static/media/user_profiles/user-icon.png',
getComments: function(success, error) {
var commentsArray = [{
id: 1,
created: '2015-10-01',
content: 'Lorem ipsum dolort sit amet',
fullname: 'Simon Powell',
upvote_count: 2,
user_has_upvoted: false
}];
success(commentsArray);
}
});
getComments
和postComments
需要定制。
因此,为了发布评论,需要使用以下函数,映射到您的 servlet 映射,为了发布评论,进行 ajax 调用:
$('#comments-container').comments({
postComment: function(commentJSON, success, error) {
$.ajax({
type: 'post',
url: '/api/comments/',
data: commentJSON,
success: function(comment) {
success(comment)
},
error: error
});
}
});