2 u012462012 u012462012 于 2013.11.24 22:45 提问

jsp 分页 出现空指针异常

实在是看不到那出错了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>


My JSP 'search_result.jsp' starting page



<%
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String strConn="jdbc:sqlserver://PC201311011725\MSSQLSERVER:1433;DatabaseName=Xk";
String strUser="sa";
String strPWD="feng123";
conn=DriverManager.getConnection(strConn,strUser,strPWD);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
String str1=request.getParameter("txt1");
String strSql="";
if(str1==null || str1==""){
strSql="select * from studnet";
}else{
strSql="select * from student where stuname like '"+str1.trim()+"%'";
}
rs=stmt.executeQuery(strSql);
}catch(Exception e){
}
%>


<%
String str=(String)request.getParameter("page");
if(str==null){
str="0";
}
int pagesize=5;//每页地 个数
rs.last();
int recordCount=rs.getRow();//总行数
int maxPage=0;
maxPage=(recordCount%pagesize==0)?(recordCount/pagesize):(recordCount/pagesize+1);//可以分成多少个页面
int currentPage=Integer.parseInt(str);//当前页面
if(currentPage currentPage=1;
}
else{
if(currentPage>maxPage){
currentPage=maxPage;
}
}

rs.absolute((currentPage-1)*pagesize+1);//定位到每个当前页面的第一个元素
for(int i=1;i<=pagesize;i++){

%>






<%
try{
if(!rs.next()){break;}
}catch(Exception e){

}
}

%>
stuno classno stuname Pwd
<%=rs.getString(1) %> <%=rs.getString(2) %> <%=rs.getString(3) %> <%=rs.getString(4) %>

跳转到第一页
">下一页

3个回答

fylsle
fylsle   2013.11.26 19:04
已采纳

rs 在 try{} 中赋值,只能在 try{}块中引用

u012462012
u012462012 哦~谢谢!我还没学到这一章!非常感谢
大约 4 年之前 回复
fylsle
fylsle 通常的做法是把数据库操作单独拿出来,放到 javaBean 里或者 servlet 里边
大约 4 年之前 回复
u012462012
u012462012 额!我现在可以弄好了 但我是这样理解的你看一看我的理解没有错吧~request的生存周期是是一次响应 当我循环的时候request已经结束了!所以我在点击下一页的链接( <a href="search_result.jsp?page=<%=currentPage+1%>&txt1=<%=str1 %>">下一页</a>)把request得到的值又重新赋给了txt1 让他重新接收!还可以有别的方法么
大约 4 年之前 回复
u012944299
u012944299   2013.11.24 23:06

帮顶一个话说我也不知道

u011269187
u011269187   2013.11.25 16:21

你都没有循环你的rs,他到哪里去取值呢。肯定就要爆空指针了。

u012462012
u012462012 哦! 那怎么让他循环呢!点下一页的时候还是去的我本来的值呢
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!