今天是第二階段衝刺的第四天,昨天完成了公告功能,今天我們準備完成收藏功能,使用者可以收藏自己覺得重要的資訊,從使用者角度來說這是很重要的,以下為今日部分程式碼:
package com.work.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.work.common.utils.BaseUtil; import com.work.common.utils.JsonUtil; import com.work.pojo.Collect; import com.work.service.CollectService; @Controller @RequestMapping("/server/collect") public class CollectController extends BaseUtil{ @Autowired private CollectService collectService; //去收藏列表 @RequestMapping("/goCollectList") public ModelAndView goCollectList(ModelAndView mv){ mv.setViewName("server/collectManage/collectList"); return mv; } //獲取收藏列表 @RequestMapping("/getCollectList") public void getCollectList(HttpServletResponse response,Collect collect,Integer page,Integer limit){ if(page == null){ page = 1; } if(limit == null){ limit = 10; } int totalCount = collectService.getCollectListCount(collect); List<Collect> list = collectService.getCollectList(collect,(page-1) * limit, limit); output(response,JsonUtil.buildJsonByTotalCount(list, totalCount)); } //刪除收藏 @RequestMapping("/deleteCollect") public void deleteCollect(HttpServletResponse response,Integer id){ collectService.deleteCollectById(id); output(response,JsonUtil.buildFalseJson(0, "刪除成功!")); } }
<!DOCTYPE html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:set var="ctx" value="${pageContext.request.contextPath}" /> <html> <head> <title>收藏列表</title> <link rel="stylesheet" href="${ctx}/server/layui/css/layui.css" media="all"> </head> <body> <form class="layui-form layui-form-pane" action=""> <blockquote class="layui-elem-quote news_search"> <div class="layui-form-item"> <div class="layui-inline pane-select"> <label class="layui-form-label">收藏編號</label> <div class="layui-input-block "> <input type="text" id="collectId" name="collectId" lay-verify="required|number" placeholder="請輸入收藏編號" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline pane-select"> <label class="layui-form-label">使用者編號</label> <div class="layui-input-block "> <input type="text" id="userId" name="userId" lay-verify="required|number" placeholder="請輸入使用者編號" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline pane-select"> <label class="layui-form-label">帖子編號</label> <div class="layui-input-block "> <input type="text" id="forumId" name="forumId" lay-verify="required|number" placeholder="請輸入帖子編號" autocomplete="off" class="layui-input"> </div> </div> <div style="float: right;"> <a class="layui-btn search_btn" onclick="doSearch()"> <i class="layui-icon"></i>查詢 </a> </div> </div> </blockquote> </form> <table class="layui-table" id="forum" lay-filter="forum" lay-data="{id: 'forum'}"></table> <script type="text/html" id="toolBar"> <a class="layui-btn layui-btn-mini layui-btn-danger" lay-event="deleteCollect" >刪除</a> </script> <script type="text/javascript" src="${ctx}/server/js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="${ctx}/server/layui/layui.all.js"></script> <script> layui.use([ 'layer', 'table', 'laydate' ], function() { table = layui.table; layer = layui.layer; var laydate = layui.laydate; //--------------方法渲染TABLE---------------- //日期範圍 laydate.render({ elem : '#startAndendTime', calendar : true, range : '~' }); getlist(null, null, null); }); function doSearch() { var collectId = $("#collectId").val(); var userId = $("#userId").val(); var forumId = $("#forumId").val(); getlist(collectId, userId, forumId); } function getlist(collectId, userId, forumId) { tableIns = table.render({ elem : '#forum', id : 'forum', method : 'post', where : { 'id' : collectId, 'userId' : userId, 'forumId' : forumId }, url : '${ctx}/server/collect/getCollectList.action', cols : [ [ { field : 'id', title : '編號', width : 80, align : 'center', fixed : true, sort : true }, { field : 'userId', title : '所屬使用者', width : 140, align : 'center' }, { field : 'forumId', title : '貼子編號', width : 140, align : 'center' }, { field : 'createTime', title : '收藏時間', width : 180, align : 'center', sort : true, }, { title : '操作', width : 150, align : 'center', fixed : 'right', toolbar : '#toolBar' } ] ], page : true, limits : [ 10, 20, 30, 50, 100 ], limit : 10, //預設採用20 width : '100%', height : 'auto', loading : true, even : true, response : { statusName : 'code' //資料狀態的欄位名稱,預設:code , statusCode : 0 //成功的狀態碼,預設:0 , countName : 'count' //資料總數的欄位名稱,預設:count , dataName : 'data' //資料列表的欄位名稱,預設:data }, done : function(res, curr, count) { } }); } table.on('tool(forum)', function(obj) { var data = obj.data; if (obj.event === 'deleteCollect') { layer.confirm('確定刪除該條收藏嗎?', function(index){ //向服務端傳送刪除指令 $.ajax({ type : "post", url : "${ctx}/server/collect/deleteCollect.action", dataType : "json", data : { "id" : data.id, }, success : function(data) { if(data.code==0){ layer.msg("刪除成功!"); setTimeout(function () { window.location.reload(); }, 1000); }else{ layer.msg("刪除失敗!"); } } }); }); } }); </script> </body> </html>