引用 1
游客 [ IP:125.32.82.* ]
2008-09-07 16:31:42 
(*承接上一篇:JSP分页技术) 重要的查询页面显示内容的SQL语句: select top 每页显示的记录数 * from 表名 where id not in (select top(当前的页数-1)×每页显示的记录数 id from 表名 order by id desc) ...

(*承接上一篇:JSP分页技术)

重要的查询页面显示内容的SQL语句:

select top 每页显示的记录数 * from 表名 where id not in

(select top(当前的页数-1)×每页显示的记录数 id from 表名 order by id desc)

order by id desc

本分页程序共四个文件:

·DBU.java 数据库连接类,包含数据库的连接以及相应的数据库查询操作

·PageBean.java 分页类,封装每页显示记录数,当前页数,总页数以及数据总记录数

·PageServlet.java 表单提交到的servlet,获取从表单提交上来的页数里的数据再转发回测试页

·view.jsp 测试页,用于分页查看数据,并提供一个表单来选择需要查看第几页的数据

前两个文件已在上一篇讲了,

第三个文件PageServlet.java,创建一个Servlet在Servlet的doPost方法中获取要显示的页号,查询出表中的总记录数,以及最最重要的是获取页面要显示的内容,其中的那条SQL语句已在上面写了。

public void doPost(HttpServletRequest request HttpServletResponse response)

throws ServletException IOException {

// 1 接收显示的页号

String pageNow=request.getParameter("pageNow");

PageBO pb=new PageBO();

if(pageNow!=null)

pb.setPageNow(Integer.parseInt(pageNow));

// 2 获取总记录数

pb.setRowCount(DBU.countid("select count(*) from jobs"));

// 3 获取页面显示的内容

String sql = "select top "+pb.getPageSize()+" * from jobs where job_id not in(select top "+pb.getPageSize()*(pb.getPageNow()-1)+" job_id from jobs)";

//List rs=DBU.query1(sql);

List rs = DBUBLL.query2(sql);

try{

if(rs!=null){

request.getSession().setAttribute("jblist" rs); //把查出的数据放在session中

request.getSession().setAttribute("pbo" pb);

}

}catch(Exception ex){

ex.printStackTrace();

}

request.getRequestDispatcher("show.jsp").forward(requestresponse);

}

第四个文件是测试页view.jsp,思路还是蛮好理解的,通过for循环循环输出事先查询出的数据:

job_id

job_desc

min_lvl

max_lvl

关键词:jsp  技术  
验证码:
  
美女(2887)  网站(1510)  下载(1498)  空间(1182)  歌曲(1143)  如何(1101)  免费(1048)  经典(1045)  小说(979)  广告(975)  赚钱(968)  创业(954)  方法(921)  网络(916)  视频(905)  手机(873)  电影(865)  最新(851)  旅游(797)  奥运(786)  游戏(773)  云南(742)  博客(736)  云南旅游(696)  个性(696)  蛋糕(691)  大全(689)  十大(638)  介绍(630)  富豪(630)