jsp+Mysql 分页问题:
此JSP页面是从主页传来一个"categoryId=8"然后显示此categoryId号对应的商品,我要在里面分页,分页信息计算代码如下:<%//Stringcatego...
此JSP页面是从主页传来一个"categoryId=8"然后显示此categoryId号对应的商品,我要在里面分页,分页信息计算代码如下:
<%
//String categoryId=request.getParameter("categoryId");
final int PAGE_SIZE = 2;
int pageNo = 1;
String strPageNo = request.getParameter("pageNo");
if (strPageNo != null && !strPageNo.trim().equals("")) {
try {
if(request.getParameter("pageNo")==""||request.getParameter("pageNo")==null)
{
pageNo=1;
}else
{
pageNo=Integer.valueOf(request.getParameter("pageNo"));
}
} catch (NumberFormatException e) {
pageNo = 1;
}
}
if (pageNo <= 0)
pageNo = 1;
int categoryId = Integer.parseInt(request.getParameter("categoryId"));
List<Product> products = new ArrayList<Product>();
int totalRecords = ProductMgr.getInstance().find(products, pageNo,
PAGE_SIZE, categoryId);
int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;
if (pageNo > totalPages)
pageNo = totalPages;
%>
显示与链接处如下:
<td align="right">
全部
<b><%=totalRecords%> </b>种商品,共
<b><%=totalPages%> </b>页,当前第
<b><%=pageNo%> </b>页
第<%=pageNo %>页
共<%=totalPages %>页
<a href="ShowProducts.jsp?pageno=<%=pageNo-1 %>">上一页</a>
<a href="ShowProducts.jsp?pageno=<%=pageNo+1 %>">下一页</a>
<a href="ShowProducts.jsp?pageno=<%=totalPages %>">最后一页</a>
</td>
请大家解决,谢谢啦,在线等!
也就是我想用个类似session的方法把categoryId临时存储下来,我该如何做呢?错误信息如下:
org.apache.jasper.JasperException: An exception occurred processing JSP page /ShowProducts.jsp at line 25
22: }
23: if (pageNo <= 0)
24: pageNo = 1;
25: int categoryId = Integer.parseInt(request.getParameter("categoryId"));
26: List<Product> products = new ArrayList<Product>();
27: int totalRecords = ProductMgr.getInstance().find(products, pageNo,
28: PAGE_SIZE, categoryId); 展开
<%
//String categoryId=request.getParameter("categoryId");
final int PAGE_SIZE = 2;
int pageNo = 1;
String strPageNo = request.getParameter("pageNo");
if (strPageNo != null && !strPageNo.trim().equals("")) {
try {
if(request.getParameter("pageNo")==""||request.getParameter("pageNo")==null)
{
pageNo=1;
}else
{
pageNo=Integer.valueOf(request.getParameter("pageNo"));
}
} catch (NumberFormatException e) {
pageNo = 1;
}
}
if (pageNo <= 0)
pageNo = 1;
int categoryId = Integer.parseInt(request.getParameter("categoryId"));
List<Product> products = new ArrayList<Product>();
int totalRecords = ProductMgr.getInstance().find(products, pageNo,
PAGE_SIZE, categoryId);
int totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;
if (pageNo > totalPages)
pageNo = totalPages;
%>
显示与链接处如下:
<td align="right">
全部
<b><%=totalRecords%> </b>种商品,共
<b><%=totalPages%> </b>页,当前第
<b><%=pageNo%> </b>页
第<%=pageNo %>页
共<%=totalPages %>页
<a href="ShowProducts.jsp?pageno=<%=pageNo-1 %>">上一页</a>
<a href="ShowProducts.jsp?pageno=<%=pageNo+1 %>">下一页</a>
<a href="ShowProducts.jsp?pageno=<%=totalPages %>">最后一页</a>
</td>
请大家解决,谢谢啦,在线等!
也就是我想用个类似session的方法把categoryId临时存储下来,我该如何做呢?错误信息如下:
org.apache.jasper.JasperException: An exception occurred processing JSP page /ShowProducts.jsp at line 25
22: }
23: if (pageNo <= 0)
24: pageNo = 1;
25: int categoryId = Integer.parseInt(request.getParameter("categoryId"));
26: List<Product> products = new ArrayList<Product>();
27: int totalRecords = ProductMgr.getInstance().find(products, pageNo,
28: PAGE_SIZE, categoryId); 展开
2个回答
展开全部
很明显你点“下一页”的时候pageNo参数并未传进来,所以在下一页链接的时候应该这样写:
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=pageNo-1 %>">上一页</a>
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=pageNo+1 %>">下一页</a>
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=totalPages %>">最后一页</a>
这样问题就解决了
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=pageNo-1 %>">上一页</a>
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=pageNo+1 %>">下一页</a>
<a href="ShowProducts.jsp?categoryId=<%=categoryId%>&pageNo=<%=totalPages %>">最后一页</a>
这样问题就解决了
展开全部
Integer.parseInt(request.getParameter("categoryId"));
这句话出错的概率是很大的。
比如request.getParameter("categoryId")为null值的时候就会报错
为带非0-9 首位非+ -字符的时候就会报错。
尽量在做Integer.parseInt之前一定要先对数据进行判断是否合法
或者加入异常处理机制。
比如
try{
categoryId = Integer.parseInt(request.getParameter("categoryId"));
}
catch(Exception e)
{}
这句话出错的概率是很大的。
比如request.getParameter("categoryId")为null值的时候就会报错
为带非0-9 首位非+ -字符的时候就会报错。
尽量在做Integer.parseInt之前一定要先对数据进行判断是否合法
或者加入异常处理机制。
比如
try{
categoryId = Integer.parseInt(request.getParameter("categoryId"));
}
catch(Exception e)
{}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询