jsдµÄÆÀÂÛ·ÖÒ³(»¹²»´í)

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡<%@ page language="java" contentType="text/html; charset=utf-8"

¡¡¡¡pageEncoding="utf-8"%>

¡¡¡¡<%

¡¡¡¡String path = request.getContextPath();

¡¡¡¡String basePath = request.getScheme() + "://"

¡¡¡¡+ request.getServerName() + ":" + request.getServerPort()

¡¡¡¡+ path + "/";

¡¡¡¡%>

¡¡¡¡<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

¡¡¡¡<html>

¡¡¡¡<head>

¡¡¡¡<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">

¡¡¡¡<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

¡¡¡¡<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

¡¡¡¡<title>΢¿Í·þ</title>

¡¡¡¡<style type="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: 0 auto;

¡¡¡¡text-align: left;

¡¡¡¡width: 90%;

¡¡¡¡margin-top: 20px;

¡¡¡¡}

¡¡¡¡.aa{

¡¡¡¡padding-left: 16px;

¡¡¡¡}

¡¡¡¡#bott{

¡¡¡¡border: 3px #590303 solid;

¡¡¡¡border-radius: 6px 6px 6px 6px;

¡¡¡¡-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>

¡¡¡¡<script type="text/javascript">

¡¡¡¡$(function() {

¡¡¡¡var row = 5;

¡¡¡¡//¶¯Ì¬¼ÓÆÀÂÛÐÅÏ¢

¡¡¡¡function loadCommentInfo(page) {

¡¡¡¡$("#page").text(page);

¡¡¡¡$.ajax({

¡¡¡¡type : "POST",

¡¡¡¡url : "<%=basePath%>findClickCommentByPage.action",

¡¡¡¡data: "page="+page+"&row="+row,

¡¡¡¡success : function(data) {

¡¡¡¡var list = data.list;

¡¡¡¡var row = "";

¡¡¡¡$("#comments").empty();

¡¡¡¡for ( var i = 0; i < list.length; i++) {

¡¡¡¡row = "<h3><span style=\"color: #000; font-size: 0.5em; padding-left: 70%;\">"+list[i].time+"</span></h3>"+

¡¡¡¡"<h3 style=\"padding-left: 12px;\">"+list[i].content+"</h3>";

¡¡¡¡if(list[i].repcontent!=null){

¡¡¡¡row+="<h3 style=\"padding-left: 12px; word-wrap: break-word; word-break: normal;\">»Ø¸´:"+list[i].repcontent+"</h3>";

¡¡¡¡}

¡¡¡¡"<hr size=\"5px;\" color=\"#f0f\">";

¡¡¡¡$(row).appendTo($("#comments"));

¡¡¡¡}

¡¡¡¡$("#pagetag").val(page);

¡¡¡¡}

¡¡¡¡});

¡¡¡¡};

¡¡¡¡function getTotalContent() {

¡¡¡¡$.ajax({

¡¡¡¡type : "POST",

¡¡¡¡url : "<%=basePath%>getTotalNum.action",

¡¡¡¡success : function(data) {

¡¡¡¡$("#count").text(data.total);

¡¡¡¡if(parseInt(data.total)==0){

¡¡¡¡$("#page").text(0);

¡¡¡¡}

¡¡¡¡var pagenum = parseInt(data.total/row);

¡¡¡¡$("#totalpage").text(parseInt(data.total%row==0?pagenum:pagenum+1));

¡¡¡¡},

¡¡¡¡});

¡¡¡¡}

¡¡¡¡$("#submit").click(function(){

¡¡¡¡var content = $("#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(){

¡¡¡¡var page = parseInt($("#pagetag").val());

¡¡¡¡if(page>1){

¡¡¡¡page--;

¡¡¡¡loadCommentInfo(page);

¡¡¡¡}

¡¡¡¡});

¡¡¡¡$("#next").click(function(){

¡¡¡¡var page = parseInt($("#pagetag").val());

¡¡¡¡if(page<parseInt($("#totalpage").text())){

¡¡¡¡page++;

¡¡¡¡loadCommentInfo(page);

¡¡¡¡}

¡¡¡¡});

¡¡¡¡window.onload = loadCommentInfo(1);

¡¡¡¡window.onload = getTotalContent();

¡¡¡¡});

¡¡¡¡</script>

¡¡¡¡<body>

¡¡¡¡<input type="hidden" id="pagetag" value="1">

¡¡¡¡<div id="static">

¡¡¡¡<div style="text-align: left; z-index: 999">

¡¡¡¡<img src="../pic/top4.jpg">

¡¡¡¡<a href="<%=basePath%>jsp/index.jsp"><img src="../pic/fan_2.png" style="width: 10%; margin-top: -25px;"></a>

¡¡¡¡</div>

¡¡¡¡<button style="background: #520202; border-top: none;border: 3px #520202 solid; border-radius: 2px 2px 2px 2px;-moz-border-radius: 6px; color: #FFEA00;" id="pre">ÉÏÒ»Ò³</button>

¡¡¡¡<button style="background: #520202; border-top: none;border: 3px #520202 solid; border-radius: 2px 2px 2px 2px;-moz-border-radius: 6px;float: right; color: #FFEA00;" id="next">ÏÂÒ»Ò³</button>

¡¡¡¡<p style="background: #520202; color: #FFEA00;">µÚ<span id="page"></span>/<span id="totalpage"></span>Ò³</p>

¡¡¡¡<h1 class="aa">ÆÀÂÛ(<span id="count"></span>)</h1>

¡¡¡¡<hr size="5px;" color="#590303">

¡¡¡¡<div id="comments">

¡¡¡¡</div>

¡¡¡¡<h2 class="aa">·¢±íÆÀÂÛ</h2>

¡¡¡¡<h3 class="aa">ÄúµÄÆÀÂÛ£º</h3>

¡¡¡¡<div id="bott">

¡¡¡¡<textarea rows="7" class="tex" cols="100%" id="content"></textarea>

¡¡¡¡</div>

¡¡¡¡<button style="margin-left:80%; border-top: none;border: 3px #520202 solid; border-radius: 6px 6px 6px 6px;-moz-border-radius: 6px; color: #FFEA00; background: #520202;" id="submit">·¢±í</button>

¡¡¡¡</div>

¡¡¡¡</body>

¡¡¡¡</html>

¡¡¡¡dao²ã

¡¡¡¡

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡package dfml.daoImpl;

¡¡¡¡import java.sql.SQLException;

¡¡¡¡import java.util.List;

¡¡¡¡import javax.annotation.Resource;

¡¡¡¡import org.hibernate.Criteria;

¡¡¡¡import org.hibernate.HibernateException;

¡¡¡¡import org.hibernate.Query;

¡¡¡¡import org.hibernate.Session;

¡¡¡¡import org.hibernate.criterion.Order;

¡¡¡¡import org.springframework.orm.hibernate3.HibernateCallback;

¡¡¡¡import org.springframework.orm.hibernate3.HibernateTemplate;

¡¡¡¡import org.springframework.stereotype.Component;

¡¡¡¡import dfml.dao.ClickCommentDao;

¡¡¡¡import dfml.pojo.ClickComment;

¡¡¡¡@Component

¡¡¡¡public class ClickCommentDaoImpl implements ClickCommentDao{

¡¡¡¡private HibernateTemplate hibernateTemplate;

¡¡¡¡@Resource

¡¡¡¡public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {

¡¡¡¡this.hibernateTemplate = hibernateTemplate;

¡¡¡¡}

¡¡¡¡//Ìí¼ÓÒ»ÌõÆÀÂÛÐÅÏ¢

¡¡¡¡@Override

¡¡¡¡public boolean addClickComment(ClickComment clickComment) {

¡¡¡¡boolean isSuccess = false;

¡¡¡¡try {

¡¡¡¡hibernateTemplate.save(clickComment);

¡¡¡¡isSuccess = true;

¡¡¡¡} catch (Exception e) {

¡¡¡¡isSuccess = false;

¡¡¡¡e.printStackTrace();

¡¡¡¡}

¡¡¡¡return isSuccess;

¡¡¡¡}

¡¡¡¡//·ÖÒ³²éÕÒÆÀÂÛÐÅÏ¢

¡¡¡¡@SuppressWarnings("unchecked")

¡¡¡¡@Override

¡¡¡¡public List<ClickComment> findClickCommentByPage(final int page, final int row) {

¡¡¡¡List<ClickComment> list = this.hibernateTemplate

¡¡¡¡.executeFind(new HibernateCallback<Object>() {

¡¡¡¡@Override

¡¡¡¡public Object doInHibernate(Session session)

¡¡¡¡throws HibernateException, SQLException {

¡¡¡¡Criteria c = session.createCriteria(ClickComment.class);

¡¡¡¡c.setFirstResult((page - 1) * row);

¡¡¡¡c.setMaxResults(row);

¡¡¡¡c.addOrder(Order.desc("time"));

¡¡¡¡return c.list();

¡¡¡¡}

¡¡¡¡});

¡¡¡¡return list;

¡¡¡¡}

¡¡¡¡//µÃµ½ÆÀÂ۵ĸöÊý

¡¡¡¡@SuppressWarnings({ "unchecked", "rawtypes" })

¡¡¡¡@Override

¡¡¡¡public Long getClickCommentCount() {

¡¡¡¡final String hql = "select count(*) from ClickComment";

¡¡¡¡Long result = null;

¡¡¡¡result = (Long) hibernateTemplate.execute(new HibernateCallback() {

¡¡¡¡public Object doInHibernate(Session arg0)

¡¡¡¡throws HibernateException, SQLException {

¡¡¡¡Query query = arg0.createQuery(hql);

¡¡¡¡return query.uniqueResult();

¡¡¡¡}

¡¡¡¡});

¡¡¡¡return result;

¡¡¡¡}

¡¡¡¡//¸üÐÂÆÀÂÛÐÅÏ¢

¡¡¡¡@Override

¡¡¡¡public boolean updateClickComment(ClickComment clickComment) {

¡¡¡¡boolean isSuccess=false;

¡¡¡¡try {

¡¡¡¡hibernateTemplate.update(clickComment);

¡¡¡¡isSuccess=true;

¡¡¡¡} catch (Exception e) {

¡¡¡¡e.printStackTrace();

¡¡¡¡isSuccess=false;

¡¡¡¡}

¡¡¡¡return isSuccess;

¡¡¡¡}

¡¡¡¡//¸ù¾Ýid²éÕÒÆÀÂÛÐÅÏ¢

¡¡¡¡@Override

¡¡¡¡public ClickComment findClickCommentById(int id) {

¡¡¡¡return (ClickComment) hibernateTemplate.find("from ClickComment where id = ?",

¡¡¡¡id).get(0);

¡¡¡¡}

¡¡¡¡//ɾ³ýÆÀÂÛÐÅÏ¢

¡¡¡¡@Override

¡¡¡¡public boolean deleteClickComment(ClickComment clickComment) {

¡¡¡¡boolean isSuccess=false;

¡¡¡¡try {

¡¡¡¡hibernateTemplate.delete(clickComment);

¡¡¡¡isSuccess=true;

¡¡¡¡} catch (Exception e) {

¡¡¡¡e.printStackTrace();

¡¡¡¡isSuccess=false;

¡¡¡¡}

¡¡¡¡return isSuccess;

¡¡¡¡}

¡¡¡¡//²éѯËùÓÐµÄÆÀÂÛ

¡¡¡¡@SuppressWarnings("unchecked")

¡¡¡¡@Override

¡¡¡¡public List<ClickComment> findAllClickComment() {

¡¡¡¡return hibernateTemplate.find("from ClickComment");

¡¡¡¡}

¡¡¡¡}

¡¡¡¡strutsÅäÖÃ

¡¡¡¡

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡<package name="clickComment" extends="json-default" namespace="/">

¡¡¡¡<action name="addClickComment" method="addClickComment" class="clickCommentAction">

¡¡¡¡<result name="add" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡<action name="findClickCommentByPage" method="findClickCommentByPage" class="clickCommentAction">

¡¡¡¡<result name="findByPage" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡<action name="getTotalNum" method="getTotalNum" class="clickCommentAction">

¡¡¡¡<result name="total" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡<action name="updateClickComment" method="updateClickComment" class="clickCommentAction">

¡¡¡¡<result name="update" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡<action name="findAllClickComment" method="findAllClickComment" class="clickCommentAction">

¡¡¡¡<result name="list" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡<action name="deleteClickComment" method="deleteClickComment" class="clickCommentAction">

¡¡¡¡<result name="delete" type="json">

¡¡¡¡<param name="root">map</param>

¡¡¡¡</result>

¡¡¡¡</action>

¡¡¡¡action

¡¡¡¡

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡package dfml.action;

¡¡¡¡import java.sql.Date;

¡¡¡¡import java.text.SimpleDateFormat;

¡¡¡¡import java.util.HashMap;

¡¡¡¡import java.util.List;

¡¡¡¡import java.util.Map;

¡¡¡¡import javax.annotation.Resource;

¡¡¡¡import org.springframework.context.annotation.Scope;

¡¡¡¡import org.springframework.stereotype.Component;

¡¡¡¡import com.opensymphony.xwork2.ActionSupport;

¡¡¡¡import dfml.dao.ClickCommentDao;

¡¡¡¡import dfml.pojo.Activity;

¡¡¡¡import dfml.pojo.ClickComment;

¡¡¡¡@Component("clickCommentAction")

¡¡¡¡@Scope("prototype")

¡¡¡¡public class ClickCommentAction extends ActionSupport{

¡¡¡¡private static final long serialVersionUID = 1L;

¡¡¡¡private ClickCommentDao clickCommentDao;

¡¡¡¡private Map<String, Object> map;

¡¡¡¡private String content;// ÆÀÂÛÄÚÈÝ

¡¡¡¡private String repcontent;// »Ø¸´ÆÀÂÛ

¡¡¡¡private int page;

¡¡¡¡private int row;

¡¡¡¡private int rows;

¡¡¡¡private int id;

¡¡¡¡public void setId(int id) {

¡¡¡¡this.id = id;

¡¡¡¡}

¡¡¡¡public Map<String, Object> getMap() {

¡¡¡¡return map;

¡¡¡¡}

¡¡¡¡@Resource

¡¡¡¡public void setClickCommentDao(ClickCommentDao clickCommentDao) {

¡¡¡¡this.clickCommentDao = clickCommentDao;

¡¡¡¡}

¡¡¡¡public void setContent(String content) {

¡¡¡¡this.content = content;

¡¡¡¡}

¡¡¡¡public void setRepcontent(String repcontent) {

¡¡¡¡this.repcontent = repcontent;

¡¡¡¡}

¡¡¡¡public void setPage(int page) {

¡¡¡¡this.page = page;

¡¡¡¡}

¡¡¡¡public void setRow(int row) {

¡¡¡¡this.row = row;

¡¡¡¡}

¡¡¡¡public void setRows(int rows) {

¡¡¡¡this.rows = rows;

¡¡¡¡}

¡¡¡¡//Ìí¼ÓÆÀÂÛ ÓÃÓÚ΢ÐÅÓû§

¡¡¡¡public String addClickComment() {

¡¡¡¡boolean isSuccess = false;

¡¡¡¡map = new HashMap<String, Object>();

¡¡¡¡ClickComment clickComment = new ClickComment();

¡¡¡¡SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

¡¡¡¡clickComment.setTime(format.format(new Date(System.currentTimeMillis())));

¡¡¡¡clickComment.setContent(content);

¡¡¡¡try {

¡¡¡¡isSuccess = clickCommentDao.addClickComment(clickComment);

¡¡¡¡} catch (Exception e) {

¡¡¡¡isSuccess = false;

¡¡¡¡e.printStackTrace();

¡¡¡¡}

¡¡¡¡map.put("success", isSuccess);

¡¡¡¡return "add";

¡¡¡¡}

¡¡¡¡//·ÖÒ³²éÕÒÆÀÂÛ Óû§Î¢ÐÅÓû§

¡¡¡¡public String findClickCommentByPage() {

¡¡¡¡map = new HashMap<String, Object>();

¡¡¡¡map.put("list", clickCommentDao.findClickCommentByPage(page, row));

¡¡¡¡return "findByPage";

¡¡¡¡}

¡¡¡¡//²éѯÆÀÂÛÌõÊý ÓÃÓÚ΢ÐÅÓû§

¡¡¡¡public String getTotalNum(){

¡¡¡¡map = new HashMap<String, Object>();

¡¡¡¡map.put("total", clickCommentDao.getClickCommentCount());

¡¡¡¡return "total";

¡¡¡¡}

¡¡¡¡//»Ø¸´ÆÀÂÛ ÓÃÓÚºǫ́¹ÜÀí

¡¡¡¡public String updateClickComment(){

¡¡¡¡boolean isSuccess=false;

¡¡¡¡map=new HashMap<String, Object>();

¡¡¡¡ClickComment clickComment =clickCommentDao.findClickCommentById(id);

¡¡¡¡if(clickComment!=null){

¡¡¡¡clickComment.setRepcontent(repcontent);

¡¡¡¡isSuccess=clickCommentDao.updateClickComment(clickComment);

¡¡¡¡}

¡¡¡¡map.put("success", isSuccess);

¡¡¡¡return "update";

¡¡¡¡}

¡¡¡¡//²éѯËùÓÐÆÀÂÛ ÓÃÓÚºǫ́¹ÜÀí

¡¡¡¡public String findAllClickComment(){

¡¡¡¡map=new HashMap<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";

¡¡¡¡}

¡¡¡¡//ɾ³ýÆÀÂÛ ÓÃÓÚºǫ́¹ÜÀí

¡¡¡¡public String deleteClickComment(){

¡¡¡¡boolean isSuccess=false;

¡¡¡¡map=new HashMap<String, Object>();

¡¡¡¡ClickComment clickComment =clickCommentDao.findClickCommentById(id);

¡¡¡¡if(clickComment!=null){

¡¡¡¡isSuccess=clickCommentDao.deleteClickComment(clickComment);

¡¡¡¡}

¡¡¡¡map.put("success", isSuccess);

¡¡¡¡return "delete";

¡¡¡¡}

¡¡¡¡}

¡¡¡¡pojo

¡¡¡¡

¸´ÖÆ´úÂë ´úÂëÈçÏÂ:

¡¡¡¡package dfml.pojo;

¡¡¡¡import java.io.Serializable;

¡¡¡¡import javax.persistence.Entity;

¡¡¡¡import javax.persistence.GeneratedValue;

¡¡¡¡import javax.persistence.Id;

¡¡¡¡//ÆÀÂÛ±í

¡¡¡¡@Entity

¡¡¡¡public class ClickComment implements Serializable{

¡¡¡¡private static final long serialVersionUID = 1L;

¡¡¡¡private Integer id;

¡¡¡¡private String time;// ÆÀÂÛʱ¼ä

¡¡¡¡private String content;// ÆÀÂÛÄÚÈÝ

¡¡¡¡private String name;// ÆÀÂÛÈË

¡¡¡¡private String repcontent;//»Ø¸´ÆÀÂÛ

¡¡¡¡@Id

¡¡¡¡@GeneratedValue

¡¡¡¡public Integer getId() {

¡¡¡¡return id;

¡¡¡¡}

¡¡¡¡public void setId(Integer id) {

¡¡¡¡this.id = id;

¡¡¡¡}

¡¡¡¡public String getRepcontent() {

¡¡¡¡return repcontent;

¡¡¡¡}

¡¡¡¡public void setRepcontent(String repcontent) {

¡¡¡¡this.repcontent = repcontent;

¡¡¡¡}

¡¡¡¡public String getTime() {

¡¡¡¡return time;

¡¡¡¡}

¡¡¡¡public void setTime(String time) {

¡¡¡¡this.time = time;

¡¡¡¡}

¡¡¡¡public String getContent() {

¡¡¡¡return content;

¡¡¡¡}

¡¡¡¡public void setContent(String content) {

¡¡¡¡this.content = content;

¡¡¡¡}

¡¡¡¡public String getName() {

¡¡¡¡return name;

¡¡¡¡}

¡¡¡¡public void setName(String name) {

¡¡¡¡this.name = name;

¡¡¡¡}

¡¡¡¡}