基于核格平台的点击量加一功能:
页面html部分:
<div class="operate_div">
<ul>
<li>来源:<span>%{tableTr.source}</span></li>
<li>作者:<span>%{tableTr.author}</span></li>
<li>审核:<span>%{tableTr.news_check}</span></li>
<li>日期:<span>%{tableTr.creation_date}</span></li>
<li>点击数:<span>%{tableTr.click_num+1}</span></li>
</ul>
</div>
注:①click_num是数据库中点击量的字段,给click_num先加一是为了加上当前阅读人的点击量;
②在页面中应当引用相应的js文件。
js部分代码:
$(function(){
var location = window.location.search;
var index = location.indexOf("=");
var id = location.slice(index+1);
$.ajax({
url:'/CDKQ/loadClickNum.svt',
type:'post',
data:{"cdkql_news_id":id},
success:function(){
}
});
})
java部分代码( loadClickNumServlet.java ):
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.SQLQuery;
import com.sunsheen.jfids.system.base.composite.data.query.QueryParameterImpl;
import com.sunsheen.jfids.system.database.IdsSession;
import com.sunsheen.jfids.system.servlet.Servlet;
import com.sunsheen.jfids.util.IdsDataBaseUtil;
@SuppressWarnings("serial")
@Servlet(value="/loadClickNum.svt", anonymous=true)
public class loadClickNumServlet extends HttpServlet {
/*该servlet用于浏览量的增加*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取前台参数
String cdkql_news_id = req.getParameter("cdkql_news_id");
//初始化sql变量
String sql = null;
//将前台参数保存在map中
Map<String, String> map = new HashMap<String, String>();
map.put("cdkql_news_id", cdkql_news_id);
sql ="update cdkql_news set click_num=click_num+1 WHERE cdkql_news_id=:cdkql_news_id";//增加浏览量
IdsSession session = IdsDataBaseUtil.getHibernateSession();
try {
session.beginTransaction();//开启事务
SQLQuery query = session.createSQLQuery(sql);
new QueryParameterImpl().initParameter(query, map);
query.executeUpdate();
session.commit();
} catch (Exception e) {
session.rollback();//回到初始状态
} finally{
session.close();//关闭事务
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
注: 平台的版本不同相应的创建session名字不同。
版权声明:本文为Sakura_Momoko原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。