我现在在从事jsp编程,现在碰到个问题!!客户要这样实现:
比如有一个"中心信息",在表中有多条这方面的数据,都要从表中提取其相关数据,然后按1,2,3,4,5,...列出来,这个都没问题!做分页也很简单,但问题是,如果我点1,要显示其标题里的信息时,如果其字符很多(从表中提取数据),一页显示不下这么多字符,我想分页,这怎么实现????
比如有一个"中心信息",在表中有多条这方面的数据,都要从表中提取其相关数据,然后按1,2,3,4,5,...列出来,这个都没问题!做分页也很简单,但问题是,如果我点1,要显示其标题里的信息时,如果其字符很多(从表中提取数据),一页显示不下这么多字符,我想分页,这怎么实现????
解决方案 »
- 求问JSP在无跳转的情况下能获取当前页面的某个文本值吗?
- 怎样在JSP里用RSA加密密码?
- MyEclipse 加载properties文件!
- <generator class="org.hibernate.id.IncrementGenerator"/>到底是什么?? 解决当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'table_name' 中的标识列插入显式值。
- 如何制作一个类似于代理网站的网络程序
- 大家开发JSP时都用什么工具来设置界面?
- 如何获得在循环中产生的两个名称不同的INPUT中的VALUE?十万火急!请高手指点!
- 大家好!当我在写JAVABEAN时,声明一个字符串变量时!该如何声明!
- jsp 多行记录同时提交进数据库
- ArrayList的问题 鸡鸡鸡鸡鸡鸡鸡鸡鸡
- 奇怪,今天我的tomcat一打开,竟然一片空白
- 做了两周不能连接MYSQL,气死我也,高手来救我也
数据库用的是oracle。
javabean写的很简单,其中有一个方法是query,是专门用来返回查询结果集的,并且打包在了oracle目录下,java程序的名字是oracle.java
查询的数据库的表是news
下边是原程序,希望对你有帮助<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*"%>
<jsp:useBean id="conn" scope="page" class="oracle.oracle"/>
<%!
ResultSet rs=null;
ResultSet rsTmp=null;
String sql="";
int PageSize=4;
int Page=1;
int totalPage=0;
String str="";
int a[]=new int[4];public String ShowOnePage(ResultSet rs,int Page,int PageSize){
str="";
//先将记录指针定位到相应位置
try{
System.out.println((Page-1)*PageSize+1);
rs.absolute((Page-1)*PageSize+1);
}catch(SQLException e){
}
for(int i=0; i<PageSize; i++){
str += RsToGbook(rs);
System.out.println(str);
try{
a[i]=rs.getInt("id");
if(!rs.next())break;
}catch(Exception e){
e.printStackTrace();
}
}
return str;
}
//显示单行记录子模块
public String RsToGbook(ResultSet rs){
String text="";
try{
text +="<tr>";
text +="<td><a href=newswind.jsp?id="+rs.getInt("id")+">" + rs.getString("title") + "</a></td>";
text +="<td>" + rs.getString("author") + "</td>";
text +="<td>" + rs.getString("date") + "</td>";
text +="</tr>";
}catch(Exception e){
e.printStackTrace();
}
return text;
}
%>
<%
sql = "select * from news";
try{
rs = conn.query(sql);
System.out.println(rs);
}catch(Exception e){
out.println("wrong of the db");
}
%>
<html>
<head>
<title>news</title>
</head>
<body bgcolor="#FFFFFF">
<h2 align="center">news of chelin</h2>
<hr>
<center>
<table border>
<tr bgcolor=lightblue>
<td>title</td>
<td>author</td>
<td>date</td>
</tr>
<%
rsTmp=conn.query("select count(*) as mycount from news");
rsTmp.next();
int totalrecord=rsTmp.getInt("mycount");
if(totalrecord % PageSize==0) totalPage=totalrecord/PageSize;//如果是当前码的整数倍
else totalPage=(int)Math.floor(totalrecord/PageSize)+1;//如果最后还空余一页
if(totalPage==0) totalPage=1;
rsTmp.close();
try{
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
Page=Integer.parseInt(request.getParameter("Page"));
}catch(java.lang.NumberFormatException e){
Page=1;
}
if(Page<1) Page=1;
if(Page>totalPage) Page=totalPage;
out.println(ShowOnePage(rs,Page,PageSize));
%>
</table>
<form Action="default.jsp" method="get">
<%
rs.close();
%>
<p>input number of page:<input type="text" name="Page" size="3">number of page:<fontcolor="red"><%=Page%>/<%=totalPage%></font>
</p>
</form>
<h3><a href=newsedit.jsp?id1=<%=a[0]%>&id2=<%=a[1]%>&id3=<%=a[2]%>&id4=<%=a[3]%>>edit news</a></h3>
<h3><a href=newssearch.jsp>search news</a></h3>
</center>
<hr>
</body>
</html>