1. 程式人生 > >springboot整合html之分頁功能實現

springboot整合html之分頁功能實現

說不清楚,直接上程式碼。和展示效果:

前臺:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
    <title>陪米app後臺主頁</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/page_common.js"></script>
<link href="/css/common_style_blue.css" rel="stylesheet" type="text/css"/>
<link rel="stylesheet" type="text/css" href="/css/index_1.css" />
<script type="text/javascript">
var pageNo = 1;
var pageSize = 8;
var pages = 0;
//<![CDATA[
$(document).ready(function(){
var key = $("#keyword").val();
loadData(key,pageNo,pageSize);
}); 
function loadData(key,pageNo,pageSize){
$.ajax({
url:"/web/getReport",
type:"post",
data:{keyword:key,pageNo:pageNo,pageSize:pageSize},
success:function(data){
var json = eval('('+data + ')');
console.log(data);
var html="";
//    var reportlisthtml='';   
var maojungang = json.data;
//var message = json.message;
var totalCount = json.total;
pages = Math.ceil(totalCount/pageSize);
//alert(message);
for(var i in maojungang){
html=html+"<tr>"+
"<td>"+maojungang[i].byReportUser+"&nbsp;"+maojungang[i].byReportName+"&nbsp;</td>"+
"<td>"+"<textarea>"+maojungang[i].content+"</textarea>"+"&nbsp;</td>"+
"<td>"+maojungang[i].timed+"&nbsp;</td>"+
"<td>"+maojungang[i].friendId+"&nbsp;</td>"+
"<td>"+maojungang[i].taskId+"&nbsp;</td>"+
                "<td>"+maojungang[i].reportUser+"&nbsp;"+maojungang[i].reportName+"&nbsp;</td>"+"</tr>";


}
//   $('#TableData').html(reportlisthtml); 
$("#TableData").html(html);
    var newText = "共" + totalCount + "條," + "第" + pageNo + "頁," + "共" + pages + "頁";
    $("#summary").text(newText);

}
});
}
function search(){
// loadData($("#keyword").val());
 var key = $.trim($("#keyword").val().trim());
loadData(key,pageNo,pageSize);
}
 
function index(){
pageNo = 1;
   var key = $.trim($("#keyword").val().trim());
  loadData(key,pageNo, pageSize);
}
function last(){
var key = $.trim($("#keyword").val().trim());
  if(pageNo == 1){
        return false;
    } else{
        pageNo--;
        loadData(key,pageNo, pageSize);
    }
}
function next(){
var key = $.trim($("#keyword").val().trim());
if(pageNo == pages){
        return false;
    } else{
        pageNo++;
        loadData(key,pageNo, pageSize);
    }
}
function zuihou(){
pageNo = pages;
var key = $.trim($("#keyword").val().trim());
    loadData(key,pageNo, pageSize);
}
function pageNumber(){
var pageNumber = $.trim($("#pageNumber").val().trim());
var key = $.trim($("#keyword").val().trim());
pageNo = pageNumber;
loadData(key,pageNo, pageSize);
}  
//]]>
</script>


</head>
<style>
textarea{
height:50px;
width: 80%;
}
.tnd{
text-align:center;
width:100%;
height:50px;
border: solid;
padding:10px;
border: 2px solid #000000;
-moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius:15px;
    background-color:aqua;
    
    }
    .tnds{
font-size:25px;

width:98.7%;
height:30px;
border: solid;
padding:10px;
border: 2px solid #000000;
-moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius:15px;
    background-color:aqua;
    color: #551A8B;
    }
     .tndss{
font-size:25px;
text-align:center;
width:98.7%;
height:800px;
border: solid;
padding:10px;
border: 2px solid #000000;
-moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius:15px;
    background-color:aqua;
    color: #551A8B;
    }
.content{
float: left;
margin-left: 1.8%;
width:91%;
height: 900px;
margin-top: 88px;
text-align:center;
border: solid;
border: 2px solid #000000;
-moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius:15px;
}
.tab{
align="center";
    cellspacing="0";
    cellpadding="0";
height: 300px;
    table-layout:fixed;
    empty-cells:show; 
    border-collapse: collapse;
    margin:0 auto;
}
</style>
<body>
<div style="width: 100%;height: 1080px;background-image:url('/image/girldd.jpg') ;position:fixed;top:0;z-index:999;">
<div style="width: 100%;background-color: aqua;position:fixed;top:0;z-index:999;">
<div style="margin-left: 40%;margin-right: 50%;width: 30%">
<h1 style="font-size: 30px;color: #551A8B" >陪米後臺主頁</h1>
</div>

</div>
<div style="margin-top: 90px;float: left;margin-left: 0%;">  
<a href="/web/reportlist" ><div class="tnd">
<div style="margin-top: 15px;font-size: 18px">
  舉報資訊查詢
</div>
</div></a>
<a href="/web/getReport" ><div class="tnd">
<div style="margin-top: 15px;font-size: 18px">
使用者資訊查詢
</div>
</div></a>
<a href="/web/getReport" ><div class="tnd">
<div style="margin-top: 15px;font-size: 18px">
  不良資訊刪除
</div>
</div></a>
<a href="/web/getReport" ><div class="tnd">
<div style="margin-top: 15px;font-size: 18px">
  使用者賬戶封禁
</div>
</div></a>
<a href="/web/getReport" ><div class="tnd">
<div style="margin-top: 15px;font-size: 18px">
  使用者意見反饋
</div>
</div></a>

     </div> 
     <div class="content" > 
         <div class="tnds">
<div style="text-align: left;float: left;">舉報資訊</div>
<div style="text-align: center;font-size: 15px;float: left;margin-left: 19.95%;margin-top: 10px">
<form action="">
請輸入舉報時間:<input id="keyword" name="timed" class="" placeholder="yyyy-MM-dd"/>
<input type="button" value="搜尋" onclick="search()"/>
</form>
</div>
</div>

<!-- 主內容區域(資料列表或表單顯示) -->
<div class="tndss">
    <table  class="tab" >
        <!-- 表頭-->
        <thead>
            <tr align="center" >
<td style="width: 10%">被舉報人ID</td>
<td style="width: 50%">舉報內容</td>
<td style="width: 10%">舉報時間</td>
<td style="width: 10%">朋友圈ID</td>
<td style="width: 10%">任務ID</td>
                <td style="width: 10%">舉報人ID</td>
</tr>

</thead>
<!--顯示資料列表 -->
         <tbody id="TableData" style="color: red; ">


        </tbody>
    </table>

   <!-- 其他功能超連結 -->


    <div id="footer">
    <span id="summary"></span>
    <ul id="pagination">
        <li id="01"><a onclick="index()" style="font-size: 25px">首頁</a></li>
        <li id="02"><a onclick="last()" style="font-size: 25px" >上一頁</a></li>
        <li id="03"><a onclick="next()" style="font-size: 25px">下一頁</a></li>
        <li id="04"><a onclick="zuihou()" style="font-size: 25px">最後一頁</a></li>
    </ul>
    <div id="select">
        <span>跳轉到 </span>
        <input type="text" name="page_num" id="pageNumber"/>
        <span> 頁  </span>
        <input type="button" name="go_btn" value="跳轉" onclick="pageNumber()"/>
    </div>
  </div>
</div>     
     </div>
            
             
</div>
</body>

</html>

後臺:

package com.hpm.blog.controller;


import java.util.ArrayList;
import java.util.List;


import javax.servlet.http.HttpSession;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


import com.fasterxml.jackson.annotation.JsonFormat.Value;
import com.hpm.blog.model.AdminUser;
import com.hpm.blog.model.ReportVo;
import com.hpm.blog.model.ReturnResult;
import com.hpm.blog.service.AttentionService;
import com.hpm.blog.service.ReportService;
import com.hpm.blog.util.Constant;
import com.hpm.blog.util.Constants;
import com.hpm.blog.util.Page;
import com.hpm.blog.util.ResultData;


@Controller
@RequestMapping("/web/")
public class ReportController {

private static final Logger logger = LoggerFactory.getLogger(AttentionService.class);
@Autowired
private ReportService reportService;

@RequestMapping("getReport")
@ResponseBody
public ReturnResult getReport(HttpSession session,Model model,String keyword,String pageNo,String pageSize){
ReturnResult result = new ReturnResult();
try {
Page page = new Page();
page.setPageNo(Integer.valueOf(pageNo));
page.setPageSize(Integer.valueOf(pageSize));
AdminUser adminUser = (AdminUser) session.getAttribute(Constants.USER_SESSION);
List<ReportVo> list = new ArrayList<ReportVo>();
if(null != adminUser){
if(null == keyword || "".equals(keyword)){
list= reportService.queryAll(page);
int total = reportService.queryAllCount(page);
result.setTotal(total);
result.setData(list);
result.setCode(Constant.SUCCESS_CODE);
result.setMessage("查詢成功!");
}else{
list= reportService.queryByKeyword(keyword,page);
int total = reportService.queryAllCountBykey(page,keyword);
result.setTotal(total);
result.setData(list);
result.setCode(Constant.SUCCESS_CODE);
result.setMessage("查詢成功!");

}else{
result.setCode(Constant.ERROR_CODE);
result.setMessage("身份失效,請重新登入");
}
} catch (Exception e) {
// TODO: handle exception
logger.debug("error = " + e.getClass().getSimpleName()+" "+e.getMessage());
result.setCode(Constant.ERROR_CODE);
result.setMessage("資訊獲取失敗!請稍後重試.....");
}
return result;
}


}

效果:


點選舉報查詢:


點選下一頁:


輸入頁碼跳轉:


輸入時間搜尋:


帶著時間引數分頁: