<link href="js/ligerui-all.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="js/jquery-3.0.0.js"></script><script type="text/javascript" src="js/ligerui.all.js"></script>jsp中样例如下:在ligerGrid中需要指定dataAction(默认是local),请求的url,page和pageSize,其中page和pageSize可以在后台获取
<script type="text/javascript" >$(function(){ var grid = $("#maingrid").ligerGrid({columns: [{ name: "id", display: "序号", render:function(record, rowindex, value, column){return rowindex+1; }},{ name: "title", display: "标题"}],height:210,dataAction:"server",url:"LUServlet",page:"1",pageSize:"5"});});</script></head><body><div style="width:600px"><div id="maingrid"></div></div>model类和测试数据库
//为了省事用sql.Dateimport java.sql.Date;public class Blog { private int id; private int category_id; private String title; private String content; private Date created_time; //getter和setter方法 @Override public String toString() {return "Blog [id=" + id + ", category_id=" + category_id + ", title=" + title + ", content=" + content+ ", created_time=" + created_time + "]"; } }dao类,用jdbc测试
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import model.Blog;public class MysqlTest { PreparedStatement ps = null; ResultSet rs = null; Connection connect = null; public MysqlTest() {try { Class.forName("com.mysql.jdbc.Driver"); connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/blogs_stu", "root", "");} catch (Exception e) { e.printStackTrace();} } //返回一个Blog数组,用于拼接json字符串 //不用model时可以直接在此处拼接json字符串返回 //传入page和pagesize用于判断最后一页数组长度,否则会报错 public Blog[] getInfo(String sql,int page,int pagesize) {int total=getTotal();if(page*pagesize>=total){ pagesize=total%pagesize;}Blog[] blog = new Blog[pagesize];try { ps = connect.prepareStatement(sql); rs = ps.executeQuery(); int index=0; while (rs.next()) {blog[index]=new Blog();blog[index].setId(rs.getInt("id"));blog[index].setCategory_id(rs.getInt("category_id"));blog[index].setTitle(rs.getString("title"));blog[index].setContent(rs.getString("content"));blog[index].setCreated_time(rs.getDate("created_time"));index++; }} catch (Exception e) { e.printStackTrace();} finally { if (connect != null)try { connect.close(); ps.close(); rs.close();} catch (SQLException e) { e.printStackTrace();}}return blog; } //获取总记录数total public int getTotal(){int total=0;String sql=""; try {sql="select count(id) from blog";ps = connect.prepareStatement(sql);rs = ps.executeQuery();while(rs.next()){total=rs.getInt(1);} } catch (SQLException e) {e.printStackTrace(); } return total;}}后台servlet实现
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import model.Blog;import mysqljdbc.MysqlTest;@WebServlet("/LUServlet")public class LUServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html; charset=utf-8");//获取页面的page和pagesize,拼接sql用int page=Integer.valueOf(request.getParameter("page"));int pagesize=Integer.valueOf(request.getParameter("pagesize"));MysqlTest test=new MysqlTest();//在拼接json字符串是传给前台一个total记录总数,ligerUI grid会自动获取该totalint total=test.getTotal();request.setAttribute("total", total);//用的mysql,查找限定条数语句用limit,从page*pagesize-pagesize开始,取pagesize条String sql="select * from blog";sql+=" limit "+(page*pagesize-pagesize)+","+pagesize;Blog[] blog=test.getInfo(sql,page,pagesize);//将数据拼接成json字符串StringBuffer strbuffer=new StringBuffer();//ligerUI grid接受的json格式是{"Rows":[],"Total":""}strbuffer.append("{"Rows":[");for(int i=0;i<blog.length;i++){ strbuffer.append("{"title":").append(""" + blog[i].getTitle() + ""},");}strbuffer.replace(strbuffer.length()-1, strbuffer.length(), "");strbuffer.append("],").append(""Total":").append("""+total+""").append("}");PrintWriter out=response.getWriter();out.write(strbuffer.toString());out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response); }}运行结果(默认样式可以改,具体参照ligerUI API):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。