您的位置:首页 > Web前端 > JavaScript

第一次做的jsp分页,详细代码。。。。

2013-11-04 23:09 483 查看
      自己学jsp也有了一段时间,而且自己现在上的课是java web现在雪儿基础做了一个最简单的jsp页面,代码都放在一个页面,自己准备在改进,一步步来,这里的代码可能不是很完美,没事,下面接下来会有大概两篇关于分页的记载。今天开始我要记载自己学jsp的地点滴滴,学到一个东西觉得有点价值的我就会记载上来,多收年来还可以回忆下自己曾经学这的过程,再过几天就要靠“中级网络工程师”,可惜我们看书啊,这几天在强补以下,希望能过啊,最近是在是太多事了,哎,自己不会懂得舍取现在来说jsp分页吧。

      首先要理清自己的对于分页的理解,我在做分页的时候在网上也找了好多资料,记得都一般般,代码复制下来都是运行不了,所以我就记载的想熟悉点吧。

      要定义以下几个变量,并且要理解相应的意思,这样代码就好些了。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<%
request.setCharacterEncoding("utf-8");
%>

<%!
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String DBURL="jdbc:mysql://localhost:3306/mldn";
public static final String DBUSER="root";
public static final String password="mysqladmin";

%>
<%
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs = null;
%>

<%
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,password);
System.out.print(conn);
}catch(Exception e){
}

%>
<body>
<center>
<h1>员工信息</h1>

<%
int pageSize=2;//每页显示多少条记录
int pageNow=1;//希望显示第几页,默认是第一页
int pageCount=0;//一共有多少页,从数据库获取值
int rowCount=0;//数据库一共有多少条记录,以便算页数

String pageNow1=request.getParameter("pageNow");//接受用户希望显示的页数
if(pageNow1!=null)
{
pageNow=Integer.parseInt(pageNow1);//这里转化位整型
}

// pageNow==null?1:Integer.parseInt(pageNow1);

if(conn!=null)
{
String sql="select count(*) from emp";

System.out.println(conn);

pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
}
if(rs!=null){
while(rs.next())
{
rowCount=rs.getInt(1);//获取一共有多少行数据
}
}
//计算总共有多少页
if(rowCount/pageSize==0)
{
pageCount=rowCount/pageSize;
}
else
{
pageCount =rowCount/pageSize+1;
}

if(conn!=null){

String sql ="select empno,ename,job,hiredate,sal from emp LIMIT ?,?";

//这里自己要调试下
pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,pageSize*(pageNow-1));
pstmt.setInt(2,pageSize);
rs=pstmt.executeQuery();
}
%>

<table border="1">
<tr>
<td>员工ID</td>
<td>员工姓名</td>
<td>员工工作</td>
<td>员工日期</td>
<td>员工薪水</td>
</tr>

<%
if(rs!=null){
while(rs.next())
{
%>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getDate(4)%></td>
<td><%=rs.getFloat(5)%></td>
</tr>
<%
}
}
%>

<%
try{
rs.close();
pstmt.close();
conn.close();
}catch(Exception e){}
%>

</table>
<%
if(pageNow!=1)
{
out.println("<a href=index.jsp?pageNow="+(pageNow-1)+">上一页</a>");
}

for(int i=1;i<=pageCount;i++)
{
out.println("<a href=index.jsp?pageNow="+(pageNow+1)+">下一页</a>");
}
%>
</center>
</body>
</html>


View Code
    代码是在myeclie上运行的,哎,耗费了我好几天的时间,附加上图片,我自己觉得那个好难看呢,if语句那里的问题。

      

继续努力吧。。。以后会记录的更多。。。

这里主要是按照我自己的想法说明的,有不足请见谅。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: