jsp模糊查询分页
<%@pageimport="java.util.*,java.text.*,java.sql.*"pageEncoding="gb2312"%><%Stringuser...
<%@page import="java.util.*,java.text.*,java.sql.*" pageEncoding="gb2312"%>
<%
String userName = "root";
String userPwd = "asdfg";
String dbName ="Mobiledb";
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(url,"root","asdfg");
String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");//———————————这里错
int PageSize=20; //一页显示的记录数
int RowCount; //记录总数
int PageCount; //总页数
int Page; //待显示页码
int i,j;
String strPage = request.getParameter("page");
if (strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
Page = 1;
} else{
//将字符串转换成整型
Page = Integer.parseInt(strPage);
if(Page<1) Page = 1;
}
//得到发表的文章总数
String sql3="select count(*) from kucunbiao";
Statement stmt3=conn.createStatement();
ResultSet rs3=stmt3.executeQuery(sql3);
rs3.next();
RowCount =rs3.getInt(1);
PageCount = (RowCount+PageSize-1)/PageSize; //记算总页数
if(Page>PageCount) Page = PageCount; //调整待显示的页码
//设置获取数据SQL语句
String sql4="select * from kucunbiao where imel like'"+'%'+s+'%'+"'";
Statement stmt4=conn.createStatement();
ResultSet rs4=stmt4.executeQuery(sql4);; //我用的JAVABEAN,不用多说了吧
i = (Page-1) * PageSize; //将记录指针定位到待显示页的第一条记录上
for(j=0;j<i;j++) rs4.next();
i = 0;
//分页显示,每页五条文章信息
while(i<PageSize && rs4.next()){
String title=rs4.getString("imel");
//String categoryname=rs4.getString("categoryname");
int msgid=rs4.getInt("pjiesuan");
%>
<%=title%><br>
<% i++; } %>
<a href="d.jsp?page=1">首页</a>
共<%=RowCount%>条信息
<%=Page%>/<%=PageCount%>页
<%if(Page>1)
{
%>
<%}%>
<a href="d.jsp?page=<%=Page-1%>">上一页</a>
<%if(Page<PageCount)
{%>
<a href="d.jsp?page=<%=Page+1%>">下一页</a>
<%}%>
<a href="d.jsp?page=<%=PageCount%>">尾页</a>
<% rs4.close();%>
总是点下一页的时候String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");//———————————这里错就是空指针异常 该怎么解决 求指点啊 第一页面没问题 下一页就出错了怎么办啊 展开
<%
String userName = "root";
String userPwd = "asdfg";
String dbName ="Mobiledb";
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(url,"root","asdfg");
String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");//———————————这里错
int PageSize=20; //一页显示的记录数
int RowCount; //记录总数
int PageCount; //总页数
int Page; //待显示页码
int i,j;
String strPage = request.getParameter("page");
if (strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
Page = 1;
} else{
//将字符串转换成整型
Page = Integer.parseInt(strPage);
if(Page<1) Page = 1;
}
//得到发表的文章总数
String sql3="select count(*) from kucunbiao";
Statement stmt3=conn.createStatement();
ResultSet rs3=stmt3.executeQuery(sql3);
rs3.next();
RowCount =rs3.getInt(1);
PageCount = (RowCount+PageSize-1)/PageSize; //记算总页数
if(Page>PageCount) Page = PageCount; //调整待显示的页码
//设置获取数据SQL语句
String sql4="select * from kucunbiao where imel like'"+'%'+s+'%'+"'";
Statement stmt4=conn.createStatement();
ResultSet rs4=stmt4.executeQuery(sql4);; //我用的JAVABEAN,不用多说了吧
i = (Page-1) * PageSize; //将记录指针定位到待显示页的第一条记录上
for(j=0;j<i;j++) rs4.next();
i = 0;
//分页显示,每页五条文章信息
while(i<PageSize && rs4.next()){
String title=rs4.getString("imel");
//String categoryname=rs4.getString("categoryname");
int msgid=rs4.getInt("pjiesuan");
%>
<%=title%><br>
<% i++; } %>
<a href="d.jsp?page=1">首页</a>
共<%=RowCount%>条信息
<%=Page%>/<%=PageCount%>页
<%if(Page>1)
{
%>
<%}%>
<a href="d.jsp?page=<%=Page-1%>">上一页</a>
<%if(Page<PageCount)
{%>
<a href="d.jsp?page=<%=Page+1%>">下一页</a>
<%}%>
<a href="d.jsp?page=<%=PageCount%>">尾页</a>
<% rs4.close();%>
总是点下一页的时候String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");//———————————这里错就是空指针异常 该怎么解决 求指点啊 第一页面没问题 下一页就出错了怎么办啊 展开
3个回答
展开全部
String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");请问你在哪里给a赋值了啊?
你在下一页的链接里面肯定还是要给a传值,否则怎么可能取得到值呢?
我觉得应该这样写:
<a href="d.jsp?page=<%=Page+1%>&a=<%=s%>">下一页</a>,其中s是:
String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");
你可以试试。
你在下一页的链接里面肯定还是要给a传值,否则怎么可能取得到值呢?
我觉得应该这样写:
<a href="d.jsp?page=<%=Page+1%>&a=<%=s%>">下一页</a>,其中s是:
String s=new String(request.getParameter("a").getBytes("ISO8859_1"),"utf-8");
你可以试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当你点下一页的时候;你的url链接为:http://*****/**/d.jsp?page=n
这里面并没有附带参数a.帮。request.getParameter("a")永远都是null,从而报空指针
修改:在上一页、下一页、首页、尾页的链接中加上:&a=abc试试
<a href="d.jsp?page=<%=Page+1%>&a=abc">下一页</a>
这里面并没有附带参数a.帮。request.getParameter("a")永远都是null,从而报空指针
修改:在上一页、下一页、首页、尾页的链接中加上:&a=abc试试
<a href="d.jsp?page=<%=Page+1%>&a=abc">下一页</a>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
request.getParameter("a").getBytes,你确定这个参数a的存在吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询