博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

前台进入bootstrap的js和css文件,我就不多少了,另外要引进bootstrap-table的js和css

废话不多说,直接代码。   框架为ssm,代码很清楚

 

 <div class="table_menu_list">
       <table class="tablecss table table-striped table-bordered table-hover" id="sample-table">
	   </table>
   </div>

  这个是容器,后台分页都在这里显示。

下面是js文件,用于对容器进行初始化

$(function(){
		var oTable = new TableInit();
		oTable.Init();
		$('#ample-table').bootstrapTable('hideColumn', 'currentPage'); 
	});
有其他的选择器如果在页面中没有看到,说明是bootstrap框架给加载的,大家不用管

  下面是主方法

里面有很多的title,这个是我自己写的,你们可以把它删除,替换成自己的

这个是最后一页

var isLastPage = function(currentPage,totalPage){
if(currentPage==totalPage){
$(".page-next").html("");
}
}

这个是第一页

var isFirstPage = function(currentPage,totalPage){
if(currentPage==1){
$(".page-pre").html("");
}
}

var TableInit = function(){
		var oTableInit = new Object();
		oTableInit.Init = function(){
			$("#sample-table").bootstrapTable({
				url:"发送到后台的controller中,路径一定要正确",
				contentType:"application/x-www-form-urlencoded; charset=UTF-8",
				dataType:"json",
				pagination: true,
				pageList:[],
				pageNumber:1,
				pageSize:10,//每页显示的数量
				paginationPreText:"上一页",
				paginationNextText:"下一页",
				method :'post',
				paginationLoop:false,
				queryParams : oTableInit.queryParams,
				sidePagination : "server", //后台分页,也可以改成前台分页
				//data-locale:"zh-US",
				//sidePagination: "server",
				onLoadSuccess : function(data){
					if(data.rows[0] != undefined){
						isFirstPage(data.rows[0].currentPage,data.rows[0].totalPage);
						isLastPage(data.rows[0].currentPage,data.rows[0].totalPage);
					}
				},
				columns:[[/*{
					title:'<label><input id="all" type="checkbox" class="ace" /><span class="lbl"></span></label>',
					align:'center',valign:'middle',width:'4%',
					formatter:function(value,row,index){
						return '<label><input type="checkbox" value="'+row.billId+'" name="check" class="ace che" /><span class="lbl"></span></label>'
					}
				    },*/
			    {
					field:'id',width:'80',
					title:'编号',align:'center',
					formatter:function(value,row,index){
						return index+1;
					}
				},
				{title:'消息标题',field:'headline',align:'center',valign:'middle',width:'120'},
				{title:'消息内容',field:'content',align:'center',valign:'middle',width:'120',
					formatter:function(value,row,index){
						if(row.content != null){
							var con=(row.content).substring(0,10)+"....";
						return '<a href="#"  class="titles" onclick="lookcontent(\''+row.id+'\')">'+con+'</a>';				 

						}else{
							return
						}
					}
				},
				{title:'发布人',field:'staffName',align:'center',valign:'middle',width:'120'},
				{title:'发布部门',field:'name',align:'center',valign:'middle',width:'120'},
				{title:'附件',field:'filepath',align:'center',valign:'middle',width:'120',
					formatter:function(value,row,index){
						if(value!=null){
							return '<a onclick="fjxz("'+row.id+'");">附件下载</a>';							
						}else{
							return '/';
						}
					}	
				},
				{title:'消息分类',field:'messageTypeName',align:'center',valign:'middle',width:'120'},
				{title:'发布时间',field:'publishTime',align:'center',valign:'middle',width:'120',
					
					formatter:function(value,row,index){
						 var oDate = new Date(value); 
						return oDate.Format("yyyy-MM-dd hh:mm:ss");  
					}	
				},
				{title:'删除',field:'publishTime',align:'center',valign:'middle',width:'120',
					formatter:function(value,row,index){
						return '<a href="#"  class="btn btn-primary btn-sm" onclick="deleteMessage(\''+row.id+'\')">删除</a>';
					}	
				}
				]]
			});
			 $('#sample-table').bootstrapTable('hideColumn', 'totalPage');
			 $('#sample-table').bootstrapTable('hideColumn', 'currentPage');
		};
		oTableInit.queryParams = function (temp) {
			   var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的

                //里面和可以设置你需要传递的参数,自己定义,主要是为了搜索条件
pageSize: temp.limit, //页面大小 pageNumber: temp.offset //页码 }; return temp; }; return oTableInit; };

      //到此为止,前台的方法已经写完了,下面是后台方法

  

  //这个是我的控制器 ,service、serviceimpl、mapper、mapperxml后面都会有方法
@RequestMapping("/showNewsList") @ResponseBody public Map<String, Object> showNewsList(HttpServletRequest request){ Integer rows = Integer.valueOf(request.getParameter("pageSize")); Integer page = Integer.valueOf(request.getParameter("pageNumber")); User user=(User)request.getSession().getAttribute("user"); Integer userid=user.getId(); Map<String, Object> pageBean = new HashMap<String, Object>();
    //获取总记录数,为后面的分页做准备
int total = newsMessageService.getPageTotal(userid); int totalPage = total % rows; if(totalPage == 0){ totalPage = total /rows; }else{ totalPage = total /rows + 1; } int currentPage = page/rows+1; List<News> newsList = newsMessageService.showNewsList(userid,rows,page); for(News news:newsList){ news.setTotalPage(totalPage); news.setCurrentPage(currentPage); }
      //
totalPage currentpage是我在实体bean中加的属性,主要是为了分页的方便
        pageBean.put("total", total);
        pageBean.put("rows", newsList);
        return pageBean;
    }