zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js写的评论分页(还不错)

JS 分页 评论 不错
2023-06-13 09:15:14 时间
复制代码代码如下:

<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metacontent="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"name="viewport">
<scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
<title>微客服</title>
<styletype="text/css">
body{
text-align:center;
margin:0;
padding:0;
color:#500f60;
background:url("../images/bj_4.jpg");
background-repeat:no-repeat;
background-attachment:scroll;
background-size:100%100%;
overflow-x:hidden;
}
li{
list-style-type:none;
}
a:link{
list-style-type:none;
}
img{
width:100%;
}
#static{
margin:0auto;
text-align:left;
width:90%;
margin-top:20px;
}
.aa{
padding-left:16px;
}
#bott{
border:3px#590303solid;
border-radius:6px6px6px6px;
-moz-border-radius:6px;
width:90%;
margin-left:5%;
}
.tex{
border-top:none;
border-bottom:none;
border-left:none;
border-right:none;
background:fixed;
}
</style>
</head>
<scripttype="text/javascript">
$(function(){
varrow=5;
//动态加评论信息
functionloadCommentInfo(page){
$("#page").text(page);
$.ajax({
type:"POST",
url:"<%=basePath%>findClickCommentByPage.action",
data:"page="+page+"&row="+row,
success:function(data){
varlist=data.list;
varrow="";
$("#comments").empty();
for(vari=0;i<list.length;i++){
row="<h3><spanstyle=\"color:#000;font-size:0.5em;padding-left:70%;\">"+list[i].time+"</span></h3>"+
"<h3style=\"padding-left:12px;\">"+list[i].content+"</h3>";
if(list[i].repcontent!=null){
row+="<h3style=\"padding-left:12px;word-wrap:break-word;word-break:normal;\">回复:"+list[i].repcontent+"</h3>";
}
"<hrsize=\"5px;\"color=\"#f0f\">";
$(row).appendTo($("#comments"));
}
$("#pagetag").val(page);
}
});
};
functiongetTotalContent(){
$.ajax({
type:"POST",
url:"<%=basePath%>getTotalNum.action",
success:function(data){
$("#count").text(data.total);
if(parseInt(data.total)==0){
$("#page").text(0);
}
varpagenum=parseInt(data.total/row);
$("#totalpage").text(parseInt(data.total%row==0?pagenum:pagenum+1));
},
});
}
$("#submit").click(function(){
varcontent=$("#content").val();
if(content==""){
alert("内容不能为空!");
return;
}
$.post("<%=basePath%>addClickComment.action","content="+content,function(data){
if(data.success==true){
alert("发表成功!");
$("#content").val("");
loadCommentInfo(parseInt($("#pagetag").val()));
getTotalContent();
}
});
});
$("#pre").click(function(){
varpage=parseInt($("#pagetag").val());
if(page>1){
page--;
loadCommentInfo(page);
}
});
$("#next").click(function(){
varpage=parseInt($("#pagetag").val());
if(page<parseInt($("#totalpage").text())){
page++;
loadCommentInfo(page);
}
});
window.onload=loadCommentInfo(1);
window.onload=getTotalContent();
});
</script>
<body>
<inputtype="hidden"id="pagetag"value="1">
<divid="static">
<divstyle="text-align:left;z-index:999">
<imgsrc="../pic/top4.jpg">
<ahref="<%=basePath%>jsp/index.jsp"><imgsrc="../pic/fan_2.png"style="width:10%;margin-top:-25px;"></a>
</div>
<buttonstyle="background:#520202;border-top:none;border:3px#520202solid;border-radius:2px2px2px2px;-moz-border-radius:6px;color:#FFEA00;"id="pre">上一页</button>
<buttonstyle="background:#520202;border-top:none;border:3px#520202solid;border-radius:2px2px2px2px;-moz-border-radius:6px;float:right;color:#FFEA00;"id="next">下一页</button>
<pstyle="background:#520202;color:#FFEA00;">第<spanid="page"></span>/<spanid="totalpage"></span>页</p>
<h1class="aa">评论(<spanid="count"></span>)</h1>
<hrsize="5px;"color="#590303">
<divid="comments">
</div>
<h2class="aa">发表评论</h2>
<h3class="aa">您的评论:</h3>
<divid="bott">
<textarearows="7"class="tex"cols="100%"id="content"></textarea>
</div>
<buttonstyle="margin-left:80%;border-top:none;border:3px#520202solid;border-radius:6px6px6px6px;-moz-border-radius:6px;color:#FFEA00;background:#520202;"id="submit">发表</button>
</div>
</body>
</html>

dao层
复制代码代码如下:

packagedfml.daoImpl;

importjava.sql.SQLException;
importjava.util.List;

importjavax.annotation.Resource;

importorg.hibernate.Criteria;
importorg.hibernate.HibernateException;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.criterion.Order;
importorg.springframework.orm.hibernate3.HibernateCallback;
importorg.springframework.orm.hibernate3.HibernateTemplate;
importorg.springframework.stereotype.Component;

importdfml.dao.ClickCommentDao;
importdfml.pojo.ClickComment;

@Component
publicclassClickCommentDaoImplimplementsClickCommentDao{

privateHibernateTemplatehibernateTemplate;

@Resource
publicvoidsetHibernateTemplate(HibernateTemplatehibernateTemplate){
this.hibernateTemplate=hibernateTemplate;
}
//添加一条评论信息
@Override
publicbooleanaddClickComment(ClickCommentclickComment){
booleanisSuccess=false;
try{
hibernateTemplate.save(clickComment);
isSuccess=true;
}catch(Exceptione){
isSuccess=false;
e.printStackTrace();
}
returnisSuccess;
}
//分页查找评论信息
@SuppressWarnings("unchecked")
@Override
publicList<ClickComment>findClickCommentByPage(finalintpage,finalintrow){
List<ClickComment>list=this.hibernateTemplate
.executeFind(newHibernateCallback<Object>(){
@Override
publicObjectdoInHibernate(Sessionsession)
throwsHibernateException,SQLException{
Criteriac=session.createCriteria(ClickComment.class);
c.setFirstResult((page-1)*row);
c.setMaxResults(row);
c.addOrder(Order.desc("time"));
returnc.list();
}
});
returnlist;
}
//得到评论的个数
@SuppressWarnings({"unchecked","rawtypes"})
@Override
publicLonggetClickCommentCount(){
finalStringhql="selectcount(*)fromClickComment";
Longresult=null;
result=(Long)hibernateTemplate.execute(newHibernateCallback(){
publicObjectdoInHibernate(Sessionarg0)
throwsHibernateException,SQLException{
Queryquery=arg0.createQuery(hql);
returnquery.uniqueResult();
}
});
returnresult;
}
//更新评论信息
@Override
publicbooleanupdateClickComment(ClickCommentclickComment){
booleanisSuccess=false;
try{
hibernateTemplate.update(clickComment);
isSuccess=true;
}catch(Exceptione){
e.printStackTrace();
isSuccess=false;
}
returnisSuccess;
}
//根据id查找评论信息
@Override
publicClickCommentfindClickCommentById(intid){
return(ClickComment)hibernateTemplate.find("fromClickCommentwhereid=?",
id).get(0);
}
//删除评论信息
@Override
publicbooleandeleteClickComment(ClickCommentclickComment){
booleanisSuccess=false;
try{
hibernateTemplate.delete(clickComment);
isSuccess=true;
}catch(Exceptione){
e.printStackTrace();
isSuccess=false;
}
returnisSuccess;
}
//查询所有的评论
@SuppressWarnings("unchecked")
@Override
publicList<ClickComment>findAllClickComment(){
returnhibernateTemplate.find("fromClickComment");
}

}

struts配置
复制代码代码如下:
<packagename="clickComment"extends="json-default"namespace="/">
<actionname="addClickComment"method="addClickComment"class="clickCommentAction">
<resultname="add"type="json">
<paramname="root">map</param>
</result>
</action>
<actionname="findClickCommentByPage"method="findClickCommentByPage"class="clickCommentAction">
<resultname="findByPage"type="json">
<paramname="root">map</param>
</result>
</action>
<actionname="getTotalNum"method="getTotalNum"class="clickCommentAction">
<resultname="total"type="json">
<paramname="root">map</param>
</result>
</action>
<actionname="updateClickComment"method="updateClickComment"class="clickCommentAction">
<resultname="update"type="json">
<paramname="root">map</param>
</result>
</action>
<actionname="findAllClickComment"method="findAllClickComment"class="clickCommentAction">
<resultname="list"type="json">
<paramname="root">map</param>
</result>
</action>
<actionname="deleteClickComment"method="deleteClickComment"class="clickCommentAction">
<resultname="delete"type="json">
<paramname="root">map</param>
</result>
</action>

action
复制代码代码如下:
packagedfml.action;

importjava.sql.Date;
importjava.text.SimpleDateFormat;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

importjavax.annotation.Resource;

importorg.springframework.context.annotation.Scope;
importorg.springframework.stereotype.Component;

importcom.opensymphony.xwork2.ActionSupport;

importdfml.dao.ClickCommentDao;
importdfml.pojo.Activity;
importdfml.pojo.ClickComment;

@Component("clickCommentAction")
@Scope("prototype")
publicclassClickCommentActionextendsActionSupport{

privatestaticfinallongserialVersionUID=1L;

privateClickCommentDaoclickCommentDao;
privateMap<String,Object>map;
privateStringcontent;//评论内容
privateStringrepcontent;//回复评论
privateintpage;
privateintrow;
privateintrows;
privateintid;
publicvoidsetId(intid){
this.id=id;
}
publicMap<String,Object>getMap(){
returnmap;
}
@Resource
publicvoidsetClickCommentDao(ClickCommentDaoclickCommentDao){
this.clickCommentDao=clickCommentDao;
}
publicvoidsetContent(Stringcontent){
this.content=content;
}
publicvoidsetRepcontent(Stringrepcontent){
this.repcontent=repcontent;
}
publicvoidsetPage(intpage){
this.page=page;
}
publicvoidsetRow(introw){
this.row=row;
}
publicvoidsetRows(introws){
this.rows=rows;
}
//添加评论用于微信用户
publicStringaddClickComment(){
booleanisSuccess=false;
map=newHashMap<String,Object>();
ClickCommentclickComment=newClickComment();
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
clickComment.setTime(format.format(newDate(System.currentTimeMillis())));
clickComment.setContent(content);
try{
isSuccess=clickCommentDao.addClickComment(clickComment);
}catch(Exceptione){
isSuccess=false;
e.printStackTrace();
}
map.put("success",isSuccess);
return"add";
}
//分页查找评论用户微信用户
publicStringfindClickCommentByPage(){
map=newHashMap<String,Object>();
map.put("list",clickCommentDao.findClickCommentByPage(page,row));
return"findByPage";
}
//查询评论条数用于微信用户
publicStringgetTotalNum(){
map=newHashMap<String,Object>();
map.put("total",clickCommentDao.getClickCommentCount());
return"total";
}
//回复评论用于后台管理
publicStringupdateClickComment(){
booleanisSuccess=false;
map=newHashMap<String,Object>();
ClickCommentclickComment=clickCommentDao.findClickCommentById(id);
if(clickComment!=null){
clickComment.setRepcontent(repcontent);
isSuccess=clickCommentDao.updateClickComment(clickComment);
}
map.put("success",isSuccess);
return"update";
}
//查询所有评论用于后台管理
publicStringfindAllClickComment(){
map=newHashMap<String,Object>();
List<ClickComment>lists=clickCommentDao.findClickCommentByPage(page,rows);
List<ClickComment>listss=clickCommentDao.findAllClickComment();
map.put("rows",lists);
map.put("total",listss.size());
map.put("list",listss);
return"list";
}
//删除评论用于后台管理
publicStringdeleteClickComment(){
booleanisSuccess=false;
map=newHashMap<String,Object>();
ClickCommentclickComment=clickCommentDao.findClickCommentById(id);
if(clickComment!=null){
isSuccess=clickCommentDao.deleteClickComment(clickComment);
}
map.put("success",isSuccess);
return"delete";
}


}

pojo
复制代码代码如下:
packagedfml.pojo;

importjava.io.Serializable;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Id;

//评论表
@Entity
publicclassClickCommentimplementsSerializable{


privatestaticfinallongserialVersionUID=1L;
privateIntegerid;
privateStringtime;//评论时间
privateStringcontent;//评论内容
privateStringname;//评论人
privateStringrepcontent;//回复评论



@Id
@GeneratedValue
publicIntegergetId(){
returnid;
}

publicvoidsetId(Integerid){
this.id=id;
}
publicStringgetRepcontent(){
returnrepcontent;
}
publicvoidsetRepcontent(Stringrepcontent){
this.repcontent=repcontent;
}
publicStringgetTime(){
returntime;
}
publicvoidsetTime(Stringtime){
this.time=time;
}
publicStringgetContent(){
returncontent;
}

publicvoidsetContent(Stringcontent){
this.content=content;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}
}