在JSP页面中实现检索数据的分页显示.docx
《在JSP页面中实现检索数据的分页显示.docx》由会员分享,可在线阅读,更多相关《在JSP页面中实现检索数据的分页显示.docx(15页珍藏版)》请在冰豆网上搜索。
在JSP页面中实现检索数据的分页显示
×÷Õߣºzergman
email:
zergman@
ÈÕÆÚ£º6/12/20011:
05:
13PM
·¢²¼Õß:
flyfox
ÔÚÒ³ÃæÖУ¬µ±¼ìË÷µÄÊý¾ÝºÜ¶àʱ£¬Í¨³£ÐèÒª·ÖÒ³ÏÔʾÊý¾Ý£¬²¢ÒªÊµÏÖ·Ò³¡£
ÏÂÃ潫ͨ¹ýһЩÀý³ÌÀ´ËµÃ÷ʵÏÖJSPÒ³Ãæ·Ò³¼¼ÊõµÄʵÏÖ¡£
Ê×ÏÈ£¬ÔÚJSPÖУ¬Í¨¹ýJAVAservletÀ´¼ìË÷Êý¾Ý£¬¶øÓÃJSPÀ´µ÷Óýá¹ûÀ´ÏÔʾ¡£
Òò¶ø£¬´Ë¼¼Êõ¿É·ÖΪÁ½¸ö²¿·Ö£¨ÒÀÀµ¹Øϵ£©£º
1.ÔÚ·þÎñÆ÷¶ËµÄservletÖеÄʵÏÖ
Òªµã£º
&½«²éѯÌõ¼þ±£´æµ½sessionÖУ¬È¡sessionÖеIJéѯÌõ¼þ
&ÉèÖÃStatement¶ÔÏóµÄMaxRows£¨È·¶¨Ò»Ò³ÏÔʾ¶àÉÙÐÐÊý¾Ý£©
&˳ÐòµØͨ¹ýÖ´ÐÐSQLÓï¾ä²éѯÊý¾Ý£¬°´maxRowsÀ´¼ìË÷Ò»¸ömaxRowsµÄÊý¾Ý£¬
ÏÂÒ»Ò³ÔÙ¼ìË÷ÏÂÒ»maxRowsµÄÊý¾Ý£¬ÒÔ´ËÀàÍÆ¡£
2.ÔÚJSPÖеÄÏÔʾʵÏÖ
Òªµã£º
&ÏÔʾmaxRowsÌõÊý¾Ý
&ͨ¹ý¡°ÏÂÒ»Ò³¡±°´Å¥»ò³¬Á´Ôٴε÷ÓøղŵÄservlet²éѯÏÂÒ»maxRowsµÄÊý¾Ý
Á÷³ÌÈçͼËùʾ£º
ÏÂÃæͨ¹ýÒ»¸öÀý³ÌÀ´ËµÃ÷£¨Ò»¸öservlet³ÌÐòºÍÒ»¸öJSP³ÌÐò£©£º
lquerymedicine.java(Medicine.querymedicine)
packageMedicine;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.io.*;
importjava.util.*;
importjava.sql.*;
importMedicine.medicinelist;
importMedicine.searchData;
////////////////////////////////////////////////////
//½Ó---mutiquery.jspÒ³Ã棬²¢´ÓrequestÖеõ½5Ìõ²éѯÌõ¼þ///
//°´Ìõ¼þ²éѯҩƷ£¬²¢½«½á¹û´æ½øsessionµÄ¡°medicinelist¡±ÖС£///
//ÕÅǬ2000Äê3ÔÂ15ÈÕ///
////////////////////////////////////////////////////
publicclassquerymedicineextendsHttpServlet{
privateDBConnectionManagerconnMgr;
//Initializeglobalvariables
publicvoidinit(ServletConfigconfig)throwsServletException{
super.init(config);
connMgr=DBConnectionManager.getInstance();
}
//========================´¦ÀíHTTPGetÇëÇó============================
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Statementstmt=null;
Connectioncon=connMgr.getConnection("medicine");
if(con==null){
response.sendRedirect("/medicine/con_error.html");
return;
}
//====================´´½¨Êý¾Ý¿âStatement=============================
try{
stmt=con.createStatement();
}
catch(Exceptione)
{
connMgr.freeConnection("medicine",con);
response.sendRedirect("/medicine/stmt_error.html");
return;
}
//-------------------------------------------------------------
longall_count=0;//´æÂú×ãÌõ¼þµÄÒ©Æ·×ÜÊý
//===================´ÓrequestÖеõ½session======================
try{
HttpSessionsession=request.getSession(false);
if(session==null){
connMgr.freeConnection("medicine",con);
response.sendRedirect("/medicine/session_error.html");
return;
}
//-----------------------------------------------------------
//======´Ó¡°ÏÂÒ»Ò³¡±Ìá½»À´µÄ²ÎÊýÈ¡µÃÇ°Ò³×îºóÒ»ÌõÊý¾ÝµÄÒ©Æ·±àÂë=======
Stringll_pos=request.getParameter("pos");
//Èç¹ûpos=-1Ôò±íʾҪ´ÓÍ·¿ªÊ¼²é
//----------------------------------------------------------
//=====================²éѯÓõÄSQLÓï¾ä´®==========================
Stringsqlstatment="SELECTmedicines.ypbm,medsmalltypes.zlmc,medsupertypes.clmc,
medtypes.dlmc,medicines.ypm,medicines.zyyx,medicines.ypzyFROMmedicines,
medsmalltypes,medsupertypes,medtypesWHEREmedicines.ypbm>"+ll_pos+"
and((medsmalltypes.zlbm=medicines.zlbm)and(medsupertypes.clbm=medicines.clbm)
and(medtypes.dlbm=medicines.dlbm)and((medicines.del_flag=0)";
//-----------------------------------------------------
Stringzlbm;
Stringdlbm;
Stringclbm;
Stringzyyx;
Stringypm;
searchDataslist=newsearchData();
synchronized(session){
slist=(searchData)session.getAttribute("searchList");
}
if(ll_pos.equals("-1")){
//===±íʾ²»ÊÇÓÉ¡°ÏÂÒ»Ò³¡±¹ýÀ´Òª´ÓÍ·¿ªÊ¼²éÊý¾Ý==========
if(slist!
=null){
synchronized(session){
session.removeAttribute("searchList");
}
}
slist=newsearchData();
//=============´ÓÉèÖòéѯÌõ¼þÒ³ÃæÈ¡µÃ²éѯÌõ¼þµÄ²ÎÊý===================
zlbm=request.getParameter("zlbm");
dlbm=request.getParameter("dlbm");
clbm=request.getParameter("clbm");
zyyx=request.getParameter("zyyx");
ypm=request.getParameter("ypm");
//------------------------------------------------------
//=================½«²éѯÌõ¼þ²ÎÊýͨ¹ýVector´æµ½sessionÖÐ==========
slist.setZlbm(zlbm);
slist.setDlbm(dlbm);
slist.setClbm(clbm);
slist.setZyyx(zyyx);
slist.setYpm(ypm);
synchronized(session){
session.setAttribute("searchList",slist);
}
//---------------------------------------------------------
}
//--------------------------------------------------------
else
{
//============================È¡³ö²éѯÌõ¼þ²ÎÊý====================
if(slist!
=null){
zlbm=slist.getZlbm();
dlbm=slist.getDlbm();
clbm=slist.getClbm();
zyyx=slist.getZyyx();
ypm=slist.getYpm();
}
else{
if(stmt!
=null)stmt.close();
stmt.setMaxRows(0);
connMgr.freeConnection("medicine",con);
response.sendRedirect("/medicine/session_error.html");
return;
}
//-------------------------------------------------
}
Stringsql2="selectcount(*)frommedicineswheredel_flag=0";
//=====================¸ù¾ÝÌõ¼þ²ÎÊýÉèÖÃSQLÓï¾ä=======================
if(!
(zlbm.trim().equals("0"))){
sqlstatment+=("and(medicines.zlbm='"+zlbm.trim()+"')");
sql2+=("andzlbm='"+zlbm.trim()+"'");
}
if(!
(dlbm.trim().equals("0"))){
sqlstatment+=("and(medicines.dlbm='"+dlbm.trim()+"')");
sql2+=("anddlbm='"+dlbm.trim()+"'");
}
if(!
(clbm.trim().equals("0"))){
sqlstatment+=("and(medicines.clbm='"+clbm.trim()+"')");
sql2+=("andclbm='"+clbm.trim()+"'");
}
if(!
(zyyx.trim().length()==0)){
sqlstatment+=("and(medicines.zyyxlike'%"+zyyx.trim()+"%')");
sql2+=("andzyyxlike'%"+zyyx.trim()+"%'");
}
if(!
(ypm.trim().length()==0)){
sqlstatment+=("and(medicines.ypmlike'%"+ypm.trim()+"%')");
sql2+=("andypmlike'%"+ypm.trim()+"%'");
}
sqlstatment+="))ORDERBYmedicines.ypbmASC";
//-------------------------------------------------------------
Vectorlist=newVector();
//=================ÉèÖÃÒ»Ò³ÏÔʾµÄÊý¾ÝÌõÊý£¨Ò»´Î¼ìË÷³öµÄÊý¾ÝÌõÊý£©===========
stmt.setMaxRows(25);
//----------------------------------------------------------------------
//===================Ö´Ðвéѯ½«½á¹û·Åµ½ResultSetÖÐ================
ResultSetrs=stmt.executeQuery(sqlstatment);
ResultSetrs2=stmt.executeQuery(sql2);
//------------------------------------------------
if(rs==null){//Èç¹ûûÓвéѯ½á¹ûÊý¾Ý
if(stmt!
=null)stmt.close();
stmt.setMaxRows(0);
connMgr.freeConnection("medicine",con);
response.sendRedirect("/medicine/no_medicine.html");//¶¨Ïòµ½Ò»¸öÒ³Ãæ
return;
}
//====================½«Ò©Æ·ÐÅÏ¢ÌîÈëÊý¾Ý¶ÔÏó²¢´æÈëVectorÖÐ================
if(rs2.next()){
all_count=rs2.getLong
(1);//È¡µÃ×ÜÌõÊý
}
if(rs2!
=null)rs2.close();
while(rs.next()){
medicinelistm=newmedicinelist();
m.setYpbm(rs.getInt("ypbm"));
m.setZlmc(rs.getString("zlmc"));
m.setClmc(rs.getString("clmc"));
m.setDlmc(rs.getString("dlmc"));
m.setYpm(rs.getString("ypm"));
m.setZyyx(rs.getString("zyyx"));
m.setYpzy(rs.getString("ypzy"));
m.setClbm(clbm);
m.setDlbm(dlbm);
m.setZlbm(zlbm);
list.addElement(m);
}
//----------------------------------------------------------
if(rs!
=null)rs.close();
stmt.setMaxRows(0);
if(stmt!
=null)stmt.close();
connMgr.freeConnection("medicine",con);
//========================´æÈësessionÖÐ===========================
synchronized(session){
session.setAttribute("medicinelist",list);
}
//-----------------------------------------------
}catch(SQLExceptione){
connMgr.freeConnection("medicine",con);
response.sendRedirect("/Medicine/sql_error.html");
return;}
//=======================Öض¨Ïòµ½Ò»¸öJSPÒ³Ãæ==========================
Stringurl="/medicine/querymedicine.jsp?
all_count="+all_count;
ServletContextsc=getServletContext();
RequestDispatcherrd=sc.getRequestDispatcher(url);
rd.forward(request,response);
//-------------------------------------------------------
}
publicvoiddestroy(){
//===================ÔÚServletÍ˳öʱÖÕÖ¹Êý¾Ý¿âÁ¬½Ó,È¡ÏûStatement¶ÔÏó
if(connMgr!
=null)connMgr.release();
//------------------------------------------------------------------------
}
//========================´¦ÀíHTTPPostÇëÇó============================
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
//==========================È¡µÃServletÐÅÏ¢============================
publicStringgetServletInfo(){
return"medicine.querymedicineInformation";
}
}
lquerymedicine.jsp
<%@pagelanguage="java"session="true"import="java.util.*,
Medicine.method,Medicine.medicinelist"contentType="text/html;charset=gbk"%>
functionnext(){
varls_pos=document.form2.maxpos.value;
document.location="/servlet/Medicine.querymedicine?
pos="+ls_pos;
}
functiondetail(ypbm){
document.location="/servlet/Medicine.Detail?
ypbm="+ypbm;
}
--addhead-->
MARGINHEIGHT=0MARGINWIDTH=0SRC="..\medicinetitle.html">