![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
jsp+servlet+javaBean 分页代码
连接为SQLServer2000表名:wmvtable列名数据类型长度准许为空备注说明wmvIDint4否自增长为1wmvImagevarchar200是wmvNamev...
连接为SQL Server2000
表名:wmvtable
列名 数据类型 长度 准许为空 备注说明
wmvID int 4 否 自增长为1
wmvImage varchar 200 是
wmvName varchar 100 是
wmvRome varchar 200 是
wmvFtp Varchar 200 是
要求:
专用连接数据库类为ConnDB。(不要把连接数据库和查询类写在一起谢谢。)
JSP显示要求每页8个。
使用开发工具最好是JBduilder2005-2006
本人QQ:371055712
e-mail:371055712@qq.com
大家帮下忙吧。。
郁闷死。。完不成任务了。。
本人会适当的加分的。发E-MAIL把你名字也告诉我,我好加分。谢谢朋友门拉。
用MyEclipse也可以。真受不了。。。
对了。发过来编译一下就能用啊。。
别还有错误。,。。
有选择页数的下拉菜单
朋友啊。。我要MVC的。这样便于管理和修改一点。
另外,最好给我先通过SERVLET带类别传递的。 展开
表名:wmvtable
列名 数据类型 长度 准许为空 备注说明
wmvID int 4 否 自增长为1
wmvImage varchar 200 是
wmvName varchar 100 是
wmvRome varchar 200 是
wmvFtp Varchar 200 是
要求:
专用连接数据库类为ConnDB。(不要把连接数据库和查询类写在一起谢谢。)
JSP显示要求每页8个。
使用开发工具最好是JBduilder2005-2006
本人QQ:371055712
e-mail:371055712@qq.com
大家帮下忙吧。。
郁闷死。。完不成任务了。。
本人会适当的加分的。发E-MAIL把你名字也告诉我,我好加分。谢谢朋友门拉。
用MyEclipse也可以。真受不了。。。
对了。发过来编译一下就能用啊。。
别还有错误。,。。
有选择页数的下拉菜单
朋友啊。。我要MVC的。这样便于管理和修改一点。
另外,最好给我先通过SERVLET带类别传递的。 展开
6个回答
2008-03-26
展开全部
核心代码就是下面几行:
<%
if (intPageCount > 0) {
//定位指针到这 (intPage-1) * intPageSize + 1 行,
//intPage=1,定位到第1行,intPage=2,定位到第11行,intPage=3,定位到21行
sqlRst.absolute((intPage-1) * intPageSize + 1);
for (int count = 0; count < intPageSize && !sqlRst.isAfterLast();count++,sqlRst.next()) {
%>
<tr>
<td><%=sqlRst.getInt(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
}
}
%>
<%
if (intPageCount > 0) {
//定位指针到这 (intPage-1) * intPageSize + 1 行,
//intPage=1,定位到第1行,intPage=2,定位到第11行,intPage=3,定位到21行
sqlRst.absolute((intPage-1) * intPageSize + 1);
for (int count = 0; count < intPageSize && !sqlRst.isAfterLast();count++,sqlRst.next()) {
%>
<tr>
<td><%=sqlRst.getInt(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
}
}
%>
展开全部
其实很简单的,核心代码就是下面几行:
<%
if (intPageCount > 0) {
//定位指针到这 (intPage-1) * intPageSize + 1 行,
//intPage=1,定位到第1行,intPage=2,定位到第11行,intPage=3,定位到21行
sqlRst.absolute((intPage-1) * intPageSize + 1);
for (int count = 0; count < intPageSize && !sqlRst.isAfterLast();count++,sqlRst.next()) {
%>
<tr>
<td><%=sqlRst.getInt(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
}
}
%>
具体如下,需要自己整理,换数据库.
===========================================
兄弟,我今晚就帮你实现吧,准备接受邮箱...
thinkingall@163.com,这是我的。
兄弟顺便问你,你是怎么连接到数据库的,我是odbc,jdbc好像怎么都不可以。
<%
if (intPageCount > 0) {
//定位指针到这 (intPage-1) * intPageSize + 1 行,
//intPage=1,定位到第1行,intPage=2,定位到第11行,intPage=3,定位到21行
sqlRst.absolute((intPage-1) * intPageSize + 1);
for (int count = 0; count < intPageSize && !sqlRst.isAfterLast();count++,sqlRst.next()) {
%>
<tr>
<td><%=sqlRst.getInt(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
}
}
%>
具体如下,需要自己整理,换数据库.
===========================================
兄弟,我今晚就帮你实现吧,准备接受邮箱...
thinkingall@163.com,这是我的。
兄弟顺便问你,你是怎么连接到数据库的,我是odbc,jdbc好像怎么都不可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-03-06
展开全部
给你一个非缓存分页类的简单例子吧(Page类可以视作javabean):
/**
* @author Administrator
*
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import java.util.*;
public class Pager {
private String PageUrl;
private boolean hasNext;
private boolean hasPrevious;
private String previousPage;
private String nextPage;
private int offset;
private int size;
private int length;
private int pagenumber;
public Pager(int offset,int length, int size, String url){
this.offset=offset;
this.length=length;
this.size=size;
int index=url.indexOf("&pager.offset");
if (index>-1){
this.PageUrl=url.substring(0,index);
}else{
this.PageUrl=url;
}
}
public void setoffset(int offset){
this.offset=offset;
}
public void setPagerUrl(String PagerUrl){
this.PageUrl=PagerUrl;
}
public void setsize(int size){
this.size=size;
}
public void setlength(int length){
this.length=length;
}
public int getoffset(){
return this.offset;
}
public String getPageUrl(){
return this.PageUrl;
}
public boolean gethasNext(){
if((offset+1)*length>=size){
hasNext=false;
}else{
hasNext=true;
}
return hasNext;
}
public boolean gethasPrevious(){
if(offset>=1){
this.hasPrevious=true;
}else{
this.hasPrevious=false;
}
return hasPrevious;
}
public String getpreviousPage(){
this.previousPage="";
if (this.gethasPrevious()){
this.previousPage=this.PageUrl+"&pager.offset="+(offset-1);
}
return previousPage;
}
public String getnextPage(){
this.nextPage="";
if(this.gethasNext()){
this.nextPage=this.PageUrl+"&pager.offset="+(offset+1);
}
return this.nextPage;
}
public int getpagenumber(){
float temppn=(float)size/(float)length;
pagenumber=new Float(temppn).intValue();
if (temppn>pagenumber){
this.pagenumber++;
}
return this.pagenumber;
}
public static ArrayList FindPageList(int offset,int length,List list){
ArrayList alist=new ArrayList();
for(int i=offset*length; i<(offset*length+length)&&i<list.size();i++){
alist.add(list.get(i));
}
return alist;
}
}
具体使用:
1、在servlet初始化这个page
List list=DataUtil.getSpecifiedList();//得到整个数据列表
int offset=0;//便宜量
int length=10;//每页数据记录数
String pageOffset=request.getParameter("pager.offset");
if(pageOffset==null||pageOffset.equals("")){
offset=0;
}else{
offset=Integer.parseInt(pageOffset);
}
String Url=request.getRequestURL().toString()+"?"+request.getQueryString();
Pager pager=new Pager(offset,length,list.size(),Url);
List RsList=Pager.FindPageList(offset,length,list);
request.setAttribute("Pager",pager);
request.setAttribute("List",RsList);
RequestDispatcher dispatcher= request.getRequestDispatcher("/UI/someModule/list_display.jsp");
dispatcher.forward(request,response);
2、具体jsp中得到分页结果,并显示,并附页面跳转部分:
页面中得到分页结果
<%
List RpList=(List)request.getAttribute("List");
Pager pager=(Pager)request.getAttribute("Pager");
%>
<%--用for循环把RpList显示--%>
<!--页面跳转代码,这只是个形式,简化和改变方式的余地很大-->
<form name="pageForm"><%if(pager.gethasPrevious()){%><a href="<%= pager.getpreviousPage()%>">prev</a>
<%}%>
<%if( pager.gethasNext()){%><a href="<%=pager.getnextPage()%>">next</a><%}%><%if(pager.getpagenumber()>1) {%>第<select name="pager" onchange="window.location='<%=pager.getPageUrl()%>&pager.offset='+document.pageForm.pager.selectedIndex;"><%for(int i=0;i<pager.getpagenumber();i++){%><option value=<%=i%> <%if(pager.getoffset()==i){ %>selected<%}%>><%=(i+1)%></option><%}%></select>页<%}%> 共<%=pager.getpagenumber()%>页</form>
ps:1、2两部分可以都放在页面类,不过你好像要MVC,所以给你这个代码。
/**
* @author Administrator
*
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import java.util.*;
public class Pager {
private String PageUrl;
private boolean hasNext;
private boolean hasPrevious;
private String previousPage;
private String nextPage;
private int offset;
private int size;
private int length;
private int pagenumber;
public Pager(int offset,int length, int size, String url){
this.offset=offset;
this.length=length;
this.size=size;
int index=url.indexOf("&pager.offset");
if (index>-1){
this.PageUrl=url.substring(0,index);
}else{
this.PageUrl=url;
}
}
public void setoffset(int offset){
this.offset=offset;
}
public void setPagerUrl(String PagerUrl){
this.PageUrl=PagerUrl;
}
public void setsize(int size){
this.size=size;
}
public void setlength(int length){
this.length=length;
}
public int getoffset(){
return this.offset;
}
public String getPageUrl(){
return this.PageUrl;
}
public boolean gethasNext(){
if((offset+1)*length>=size){
hasNext=false;
}else{
hasNext=true;
}
return hasNext;
}
public boolean gethasPrevious(){
if(offset>=1){
this.hasPrevious=true;
}else{
this.hasPrevious=false;
}
return hasPrevious;
}
public String getpreviousPage(){
this.previousPage="";
if (this.gethasPrevious()){
this.previousPage=this.PageUrl+"&pager.offset="+(offset-1);
}
return previousPage;
}
public String getnextPage(){
this.nextPage="";
if(this.gethasNext()){
this.nextPage=this.PageUrl+"&pager.offset="+(offset+1);
}
return this.nextPage;
}
public int getpagenumber(){
float temppn=(float)size/(float)length;
pagenumber=new Float(temppn).intValue();
if (temppn>pagenumber){
this.pagenumber++;
}
return this.pagenumber;
}
public static ArrayList FindPageList(int offset,int length,List list){
ArrayList alist=new ArrayList();
for(int i=offset*length; i<(offset*length+length)&&i<list.size();i++){
alist.add(list.get(i));
}
return alist;
}
}
具体使用:
1、在servlet初始化这个page
List list=DataUtil.getSpecifiedList();//得到整个数据列表
int offset=0;//便宜量
int length=10;//每页数据记录数
String pageOffset=request.getParameter("pager.offset");
if(pageOffset==null||pageOffset.equals("")){
offset=0;
}else{
offset=Integer.parseInt(pageOffset);
}
String Url=request.getRequestURL().toString()+"?"+request.getQueryString();
Pager pager=new Pager(offset,length,list.size(),Url);
List RsList=Pager.FindPageList(offset,length,list);
request.setAttribute("Pager",pager);
request.setAttribute("List",RsList);
RequestDispatcher dispatcher= request.getRequestDispatcher("/UI/someModule/list_display.jsp");
dispatcher.forward(request,response);
2、具体jsp中得到分页结果,并显示,并附页面跳转部分:
页面中得到分页结果
<%
List RpList=(List)request.getAttribute("List");
Pager pager=(Pager)request.getAttribute("Pager");
%>
<%--用for循环把RpList显示--%>
<!--页面跳转代码,这只是个形式,简化和改变方式的余地很大-->
<form name="pageForm"><%if(pager.gethasPrevious()){%><a href="<%= pager.getpreviousPage()%>">prev</a>
<%}%>
<%if( pager.gethasNext()){%><a href="<%=pager.getnextPage()%>">next</a><%}%><%if(pager.getpagenumber()>1) {%>第<select name="pager" onchange="window.location='<%=pager.getPageUrl()%>&pager.offset='+document.pageForm.pager.selectedIndex;"><%for(int i=0;i<pager.getpagenumber();i++){%><option value=<%=i%> <%if(pager.getoffset()==i){ %>selected<%}%>><%=(i+1)%></option><%}%></select>页<%}%> 共<%=pager.getpagenumber()%>页</form>
ps:1、2两部分可以都放在页面类,不过你好像要MVC,所以给你这个代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package jp.co.tops.model;
/**
* @author LiuChao
* This is disjoin page class
* <br>
* @version 1.0
*/
public class DisjoinPage {
private int pageSize = 0;//count every page display notes
private int total = 0;// conut all of notes
private int showPage = 0;//current page number
private int pageCount = 0;//count the pages of all notes
int position = 0;
int endPosition = 0;
/**
* the constructs use for initialize parameters
* total, pageSize, showPage and transfers init method
*
*/
public DisjoinPage(int total, int pageSize,int showPage)
{
this.total = total;
this.pageSize = pageSize;
this.showPage = showPage;
init();
}
/**
* The method use for disjoins page
*
*/
public void init(){
this.pageCount = (total % pageSize == 0) ? (total / pageSize) :(total / pageSize + 1);
if (this.pageCount == 0) {
this.pageCount = 1;
}
if (this.showPage <= 1) {
this.showPage = 1;
}
if (this.showPage >= pageCount) {
this.showPage = pageCount;
}
this.position = (showPage - 1) * pageSize;
this.endPosition = (showPage * pageSize > total) ? (total - 1)
: (showPage * pageSize - 1);
}
/**
* @return circulation's end position of current page
*/
public int getEndPosition() {
return endPosition;
}
/**
* @return all of pages number
*/
public int getPageCount() {
return pageCount;
}
/**
* @return circulation's start position of current page
*/
public int getPosition() {
return position;
}
/**
* @return all of notes number
*/
public int getTotal() {
return total;
}
/**
* @return current page's number
*/
public int getShowPage() {
return showPage;
}
}
/**
* @author LiuChao
* This is disjoin page class
* <br>
* @version 1.0
*/
public class DisjoinPage {
private int pageSize = 0;//count every page display notes
private int total = 0;// conut all of notes
private int showPage = 0;//current page number
private int pageCount = 0;//count the pages of all notes
int position = 0;
int endPosition = 0;
/**
* the constructs use for initialize parameters
* total, pageSize, showPage and transfers init method
*
*/
public DisjoinPage(int total, int pageSize,int showPage)
{
this.total = total;
this.pageSize = pageSize;
this.showPage = showPage;
init();
}
/**
* The method use for disjoins page
*
*/
public void init(){
this.pageCount = (total % pageSize == 0) ? (total / pageSize) :(total / pageSize + 1);
if (this.pageCount == 0) {
this.pageCount = 1;
}
if (this.showPage <= 1) {
this.showPage = 1;
}
if (this.showPage >= pageCount) {
this.showPage = pageCount;
}
this.position = (showPage - 1) * pageSize;
this.endPosition = (showPage * pageSize > total) ? (total - 1)
: (showPage * pageSize - 1);
}
/**
* @return circulation's end position of current page
*/
public int getEndPosition() {
return endPosition;
}
/**
* @return all of pages number
*/
public int getPageCount() {
return pageCount;
}
/**
* @return circulation's start position of current page
*/
public int getPosition() {
return position;
}
/**
* @return all of notes number
*/
public int getTotal() {
return total;
}
/**
* @return current page's number
*/
public int getShowPage() {
return showPage;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我是用的 eclipse
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hhe
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询