我们可以轻松地在JSP中创建分页示例。如果你必须显示许多记录, 则必须填写。在单个页面中显示许多记录可能会花费一些时间, 因此最好将页面分成几部分。为此, 我们创建了分页应用程序。
在此分页示例中, 我们使用MySQL数据库来获取记录。
我们已经在“测试”数据库中创建了“ emp”表。 emp表具有三个字段:id, 名称和薪金。要么手动创建表并插入记录, 要么导入我们的sql文件。
index.jsp
<a href="view.jsp?page=1">View Employees</a>
view.jsp
<%@ page import="java.util.*, com.srcmini.dao.*, com.srcmini.beans.*" %>
<%
String spageid=request.getParameter("page");
int pageid=Integer.parseInt(spageid);
int total=5;
if(pageid==1){}
else{
pageid=pageid-1;
pageid=pageid*total+1;
}
List<Emp> list=EmpDao.getRecords(pageid, total);
out.print("<h1>Page No: "+spageid+"</h1>");
out.print("<table border='1' cellpadding='4' width='60%'>");
out.print("<tr><th>Id</th><th>Name</th><th>Salary</th>");
for(Emp e:list){
out.print("<tr><td>"+e.getId()+"</td><td>"+e.getName()+"</td>
<td>"+e.getSalary()+"</td></tr>");
}
out.print("</table>");
%>
<a href="view.jsp?page=1">1</a>
<a href="view.jsp?page=2">2</a>
<a href="view.jsp?page=3">3</a>
Emp.java
package com.srcmini.beans;
public class Emp {
private int id;
private String name;
private float salary;
//getters and setters
}
EmpDao.java
package com.srcmini.dao;
import com.srcmini.beans.*;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class EmpDao {
public static Connection getConnection(){
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "", "");
}catch(Exception e){System.out.println(e);}
return con;
}
public static List<Emp> getRecords(int start, int total){
List<Emp> list=new ArrayList<Emp>();
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement(
"select * from emp limit "+(start-1)+", "+total);
ResultSet rs=ps.executeQuery();
while(rs.next()){
Emp e=new Emp();
e.setId(rs.getInt(1));
e.setName(rs.getString(2));
e.setSalary(rs.getFloat(3));
list.add(e);
}
con.close();
}catch(Exception e){System.out.println(e);}
return list;
}
}
评论前必须登录!
注册