¡¡¡¡<%@ 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;
¡¡¡¡}
¡¡¡¡}