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");//———————————这里错就是空指针异常 该怎么解决 求指点啊 第一页面没问题 下一页就出错了怎么办啊
展开
 我来答
张明煜5
2010-08-07 · TA获得超过176个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:147万
展开全部
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");
你可以试试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
276685417
2010-08-07 · 超过37用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:114万
展开全部
当你点下一页的时候;你的url链接为:http://*****/**/d.jsp?page=n
这里面并没有附带参数a.帮。request.getParameter("a")永远都是null,从而报空指针

修改:在上一页、下一页、首页、尾页的链接中加上:&a=abc试试
<a href="d.jsp?page=<%=Page+1%>&a=abc">下一页</a>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dp_lead
2010-08-07 · TA获得超过109个赞
知道答主
回答量:69
采纳率:0%
帮助的人:72.4万
展开全部
request.getParameter("a").getBytes,你确定这个参数a的存在吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式