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;
}
}
相关文章
- js编写桌面应用_web桌面应用框架
- vue.js单页应用_vue嵌入第三方页面
- JS设置定时器_js设置定时器
- 22道js输出顺序问题,你能做出几道_2023-02-28
- iOS小技能:WKWebView与JS的交互
- js 数组去除重复数据-当WPS开始像支持VBA一样支持JS语言时,微软又该何去何从?
- vue.js客服系统实时聊天项目开发(二十二)vue项目中router.js路由介绍
- clipboard.js:最轻便的复制页面内容到剪切板的JS
- Js与Oracle的Web开发整合之路(jsoracle)
- 使用JS实现Redis数据读取(js读取redis)
- 用SQL Server和JS实现数据库管理技术(sqlserver.js)
- JS将文件传输至MySQL数据库(.js传文件至mysql)
- Oracle中使用JS变量管理数据(oracle使用js变量)
- Redis中的订阅机制及其在JS中的应用(redis 订阅 js)
- JS控制显示隐藏兼容问题(IE6、IE7、IE8)
- js下通过getList函数实现分页效果的代码
- JS执行删除前的判断代码
- js获取当前地址JS获取当前URL的示例代码
- 利用js制作htmltable分页示例(js实现分页)