问题描述
- 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://PC201311011725MSSQLSERVER:1433;DatabaseName=Xk"";
String strUser=""sa"";
String strPWD=""feng123"";
conn=DriverManager.getConnection(strConnstrUserstrPWD);
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){
}
%>
stuno classno stuname Pwd <%
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++){%>
<%=rs.getString(1) %> <%=rs.getString(2) %> <%=rs.getString(3) %> <%=rs.getString(4) %> <%
try{
if(!rs.next()){break;}
}catch(Exception e){}
}%>
跳转到第一页
"">下一页
解决方案
rs 在 try{} 中赋值,只能在 try{}块中引用
解决方案二: 帮顶一个话说我也不知道
解决方案三:
你都没有循环你的rs,他到哪里去取值呢。肯定就要爆空指针了。