我的JSp 分页 只能显示第一页数据 数据库里面一共30条记录 分6页显示
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<%
request.setCharacterEncoding("gb2312");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="queryBook" class="example.QueryBook" scope="session" />
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>图书馆书库信息</title>
</head>
<body>
<script type="text/javascript">
</script>
<h2>图库中书</h2><table width="500" border="1" align="center" id="tab">
<tr>
<td>ISBN</td>
<td>书名</td>
<td>作者</td>
<td>出版社</td>
<td>余量</td>
<td>库存</td>
<td>分类</td>
</tr><%
String s="wjj";
s=request.getParameter("pa");
out.println("s = "+s);
int start =0; //从第几条开始显示
if(s != null){
start=Integer.parseInt(s) ;
}else{
start =1;
}
int al= 1; //第几页
int pageSize = 5;//每页显示 数目queryBook.count() / pageSize
int num =6 ;//总页数
%>
一共 <%=num%> 页 ;
当前第<%=al++ %>页    
<%
ResultSet rs = queryBook.query(start, pageSize);
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("ISBN")%></td>
<td><%=rs.getString("Bname")%></td>
<td><%=rs.getString("Bwriter")%></td>
<td><%=rs.getString("Bpress")%></td>
<td><%=rs.getString("Bsurplus")%></td>
<td><%=rs.getString("Bstock")%></td>
<td><%=rs.getString("Bclass")%></td>
</tr>
<%
//
}
// out.println("<a href='queryBook.jsp? page=7'>下一页告诉你</a>");
%><a href="queryBook.jsp? pa=5" > 下一页告诉你</a></table></body>
</html>
求 哪里错l
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<%
request.setCharacterEncoding("gb2312");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="queryBook" class="example.QueryBook" scope="session" />
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>图书馆书库信息</title>
</head>
<body>
<script type="text/javascript">
</script>
<h2>图库中书</h2><table width="500" border="1" align="center" id="tab">
<tr>
<td>ISBN</td>
<td>书名</td>
<td>作者</td>
<td>出版社</td>
<td>余量</td>
<td>库存</td>
<td>分类</td>
</tr><%
String s="wjj";
s=request.getParameter("pa");
out.println("s = "+s);
int start =0; //从第几条开始显示
if(s != null){
start=Integer.parseInt(s) ;
}else{
start =1;
}
int al= 1; //第几页
int pageSize = 5;//每页显示 数目queryBook.count() / pageSize
int num =6 ;//总页数
%>
一共 <%=num%> 页 ;
当前第<%=al++ %>页    
<%
ResultSet rs = queryBook.query(start, pageSize);
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("ISBN")%></td>
<td><%=rs.getString("Bname")%></td>
<td><%=rs.getString("Bwriter")%></td>
<td><%=rs.getString("Bpress")%></td>
<td><%=rs.getString("Bsurplus")%></td>
<td><%=rs.getString("Bstock")%></td>
<td><%=rs.getString("Bclass")%></td>
</tr>
<%
//
}
// out.println("<a href='queryBook.jsp? page=7'>下一页告诉你</a>");
%><a href="queryBook.jsp? pa=5" > 下一页告诉你</a></table></body>
</html>
求 哪里错l
解决方案 »
- 求一段用于下载文件的JS
- 表单.控制列宽度
- jsp中 FCKeditor中图片上传问题
- response.setDateHeader ("Expires", -1000); 是什么意思?
- 请教 URL 映射问题
- 这是什么错误,怎么调?
- jsp的配置及一个简单实例,在线等待!!!!!!!!!!!!!!!
- [异常]在Tiles中我用Definition in jsp page方式时,用extends时异常,同志们帮看看,谢了!
- 我做了一个文件上传的SERVLET,为什么传到服务器上都放到TOMCAT的BIN里了,怎么可以定义路径?
- 一个class的问题,请助我!
- 【分享】java操作Excel的方法
- myeclipse问题,帮帮解决啊!!!
<a href='queryBook.jsp? page=7你取得pa 不对吧
应该是request.getParameter("page"); !
Java codeListAction.javapackage com.sy.action;import java.util.List;import com.opensymphony.xwork2.ActionSupport;
import com.sy.dao.AdminDao;
import com.sy.dao.NewsDao;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.NewsDaoImpl;
import com.sy.vo.Admin;
import com.sy.vo.News;public class ListAction extends ActionSupport { private static final long serialVersionUID = 1L;
int i=1;//中间变量
private int k;//储存最大页面数
private int pageNow=1; //页码数,初始为1
private int pageSize = 5 ; //页面行数
private int intRowCount;//总行数
private int intPageCount;//总页数
private Admin admin;
private List<Admin> Adminss;
private News news;
@SuppressWarnings("unchecked")
private List<News> Newss;
private int id;
private int aid; public News getNews() {
return news;
} public void setNews(News news) {
this.news = news;
} @SuppressWarnings("unchecked")
public List<News> getNewss() {
return Newss;
}
public void setNewss(List<News> newss) {
Newss = newss;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
}
public Admin getAdmin() {
return admin;
} public void setAdmin(Admin admin) {
this.admin = admin;
} public List<Admin> getAdminss() {
return Adminss;
} public void setAdminss(List<Admin> adminss) {
Adminss = adminss;
}
public int getAid() {
return aid;
} public void setAid(int aid) {
this.aid = aid;
} public int getPageNow() {
return pageNow;
} public void setPageNow(int pageNow) {
this.pageNow = pageNow;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getIntRowCount() {
return intRowCount;
} public void setIntRowCount(int intRowCount) {
this.intRowCount = intRowCount;
} public int getIntPageCount() {
return intPageCount;
} public void setIntPageCount(int intPageCount) {
this.intPageCount = intPageCount;
}
public int getK() {
return k;
} public void setK(int k) {
this.k = k;
}
@SuppressWarnings("unchecked")
@Override
//显示新闻列表
public String execute() throws Exception { NewsDao npage=new NewsDaoImpl();
intRowCount=npage.count();
k=(intRowCount + pageSize - 1) / pageSize;
intPageCount = (intRowCount + pageSize - 1) / pageSize;//计算出总页数
if(pageNow<1){
pageNow=1;
}
if(pageNow > intPageCount)
pageNow=intPageCount;
i = (pageNow -1)*pageSize;
NewsDao nlist=new NewsDaoImpl();
if(null!=nlist.queryByPage(i,pageSize)){
Newss = nlist.queryByPage(i,pageSize);
return SUCCESS;
}else{
return "failure";
}
}
..
}listNews.jsp<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
.. <center>
共<s:property value="intRowCount"/>记录
第<s:property value="pageNow"/>页
<s:url id="url_pre" value="list.action">
<s:param name="pageNow" value="pageNow-1"></s:param>
</s:url>
<s:url id="url_next" value="list.action">
<s:param name="pageNow" value="pageNow+1"></s:param>
</s:url>
<s:iterator value="Newss" status="status">
<s:url id="url" value="list.action">
<s:param name="pageNow" value="pageNow"/>
</s:url>
</s:iterator>
<s:if test="pageNow==1">
<s:a href="%{url_pre}">最前一页</s:a>
</s:if>
<s:else>
<s:a href="%{url_pre}">上一页</s:a>
</s:else>
<s:if test="pageNow==k">
<s:a href="%{url_next}">最后一页</s:a>
</s:if>
<s:else>
<s:a href="%{url_next}">下一页</s:a>
</s:else>
</center>
</body>
</html>NewsDao.javapackage com.sy.dao.impl;import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;import com.sy.dao.NewsDao;
import com.sy.util.DataBaseConnection;
import com.sy.util.StringUtil;
import com.sy.vo.News;public class NewsDaoImpl implements NewsDao {
//获取分页新闻列表
@SuppressWarnings("unchecked")
public List<News> queryByPage(int i,int pageSize){
List<News> newss=new ArrayList();
PreparedStatement pstmt = null ;
String sql = null ;
ResultSet rs = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ; sql = "select * from struts2new order by id asc limit " + i + "," + pageSize;
try
{
pstmt = dbc.getConnection().prepareStatement(sql);
rs = pstmt.executeQuery() ;
while(rs.next())
{
News news=new News();
news.setId(rs.getInt("id"));
news.setName(rs.getString("name"));
news.setTitle(rs.getString("title"));
news.setDate(rs.getString("date"));
news.setEmail(rs.getString("email"));
news.setContent(rs.getString("content"));
i++;
newss.add(news);
}
rs.close() ;
pstmt.close() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
finally
{
dbc.close();
}
return newss;
}
//查询总行数
public int count() {
int intRowCount = 0;//总行数
PreparedStatement pstmt = null ;
String sql = null ;
ResultSet rs = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ; sql = "select count(id) from struts2new order by id asc";
try
{
pstmt = dbc.getConnection().prepareStatement(sql);
rs = pstmt.executeQuery();
rs.next();//游标指向第一行
intRowCount=rs.getInt(1);//取得总行数
rs.close() ;
pstmt.close() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
finally
{
dbc.close();
}
return intRowCount;
}
}
Java codeListAction.javapackage com.sy.action;import java.util.List;import com.opensymphony.xwork2.ActionSupport;
import com.sy.dao.AdminDao;
import com.sy.dao.NewsDao;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.NewsDaoImpl;
import com.sy.vo.Admin;
import com.sy.vo.News;public class ListAction extends ActionSupport { private static final long serialVersionUID = 1L;
int i=1;//中间变量
private int k;//储存最大页面数
private int pageNow=1; //页码数,初始为1
private int pageSize = 5 ; //页面行数
private int intRowCount;//总行数
private int intPageCount;//总页数
private Admin admin;
private List<Admin> Adminss;
private News news;
@SuppressWarnings("unchecked")
private List<News> Newss;
private int id;
private int aid; public News getNews() {
return news;
} public void setNews(News news) {
this.news = news;
} @SuppressWarnings("unchecked")
public List<News> getNewss() {
return Newss;
}
public void setNewss(List<News> newss) {
Newss = newss;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
}
public Admin getAdmin() {
return admin;
} public void setAdmin(Admin admin) {
this.admin = admin;
} public List<Admin> getAdminss() {
return Adminss;
} public void setAdminss(List<Admin> adminss) {
Adminss = adminss;
}
public int getAid() {
return aid;
} public void setAid(int aid) {
this.aid = aid;
} public int getPageNow() {
return pageNow;
} public void setPageNow(int pageNow) {
this.pageNow = pageNow;
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getIntRowCount() {
return intRowCount;
} public void setIntRowCount(int intRowCount) {
this.intRowCount = intRowCount;
} public int getIntPageCount() {
return intPageCount;
} public void setIntPageCount(int intPageCount) {
this.intPageCount = intPageCount;
}
public int getK() {
return k;
} public void setK(int k) {
this.k = k;
}
@SuppressWarnings("unchecked")
@Override
//显示新闻列表
public String execute() throws Exception { NewsDao npage=new NewsDaoImpl();
intRowCount=npage.count();
k=(intRowCount + pageSize - 1) / pageSize;
intPageCount = (intRowCount + pageSize - 1) / pageSize;//计算出总页数
if(pageNow<1){
pageNow=1;
}
if(pageNow > intPageCount)
pageNow=intPageCount;
i = (pageNow -1)*pageSize;
NewsDao nlist=new NewsDaoImpl();
if(null!=nlist.queryByPage(i,pageSize)){
Newss = nlist.queryByPage(i,pageSize);
return SUCCESS;
}else{
return "failure";
}
}
..
}listNews.jsp<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
.. <center>
共<s:property value="intRowCount"/>记录
第<s:property value="pageNow"/>页
<s:url id="url_pre" value="list.action">
<s:param name="pageNow" value="pageNow-1"></s:param>
</s:url>
<s:url id="url_next" value="list.action">
<s:param name="pageNow" value="pageNow+1"></s:param>
</s:url>
<s:iterator value="Newss" status="status">
<s:url id="url" value="list.action">
<s:param name="pageNow" value="pageNow"/>
</s:url>
</s:iterator>
<s:if test="pageNow==1">
<s:a href="%{url_pre}">最前一页</s:a>
</s:if>
<s:else>
<s:a href="%{url_pre}">上一页</s:a>
</s:else>
<s:if test="pageNow==k">
<s:a href="%{url_next}">最后一页</s:a>
</s:if>
<s:else>
<s:a href="%{url_next}">下一页</s:a>
</s:else>
</center>
</body>
</html>NewsDao.javapackage com.sy.dao.impl;import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;import com.sy.dao.NewsDao;
import com.sy.util.DataBaseConnection;
import com.sy.util.StringUtil;
import com.sy.vo.News;public class NewsDaoImpl implements NewsDao {
//获取分页新闻列表
@SuppressWarnings("unchecked")
public List<News> queryByPage(int i,int pageSize){
List<News> newss=new ArrayList();
PreparedStatement pstmt = null ;
String sql = null ;
ResultSet rs = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ; sql = "select * from struts2new order by id asc limit " + i + "," + pageSize;
try
{
pstmt = dbc.getConnection().prepareStatement(sql);
rs = pstmt.executeQuery() ;
while(rs.next())
{
News news=new News();
news.setId(rs.getInt("id"));
news.setName(rs.getString("name"));
news.setTitle(rs.getString("title"));
news.setDate(rs.getString("date"));
news.setEmail(rs.getString("email"));
news.setContent(rs.getString("content"));
i++;
newss.add(news);
}
rs.close() ;
pstmt.close() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
finally
{
dbc.close();
}
return newss;
}
//查询总行数
public int count() {
int intRowCount = 0;//总行数
PreparedStatement pstmt = null ;
String sql = null ;
ResultSet rs = null ;
DataBaseConnection dbc = null ;
dbc = new DataBaseConnection() ; sql = "select count(id) from struts2new order by id asc";
try
{
pstmt = dbc.getConnection().prepareStatement(sql);
rs = pstmt.executeQuery();
rs.next();//游标指向第一行
intRowCount=rs.getInt(1);//取得总行数
rs.close() ;
pstmt.close() ;
}
catch(Exception e)
{
System.out.println(e) ;
}
finally
{
dbc.close();
}
return intRowCount;
}
}
sqlCon=new SqlConnection();
con=sqlCon.getCon();
rs=null;
try {
CallableStatement cs=con.prepareCall(" {call PROC_Book(?,?)}");
cs.setInt(1, start);
cs.setInt(2, pageSize);
rs=cs.executeQuery();
// System.out.println("Book isbn "+ rs.getString("ISBN"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;