Концепция пагинации с использованием сервлета-hibernateintegration.
@WebServlet("/PagenationServlet") public class PagenationServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out=response.getWriter(); int pageNo=Integer.parseInt(request.getParameter("pageNo")); int startIndex=pageNo*3-3; IEmpDao dao=new EmpDaoImpl(); List lt=dao.readEmps(startIndex); out.println("<center> "); out.println(""); out.println(""); out.println(""); Iterator it=lt.iterator(); while(it.hasNext()) { Employee e=(Employee)it.next(); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); } out.println("<table border="1"><tbody><tr><th>EMPNO</th> <th>ENAME</th> <th>SAL</th> <th>DEPTNO</th></tr><tr><td>"+e.getEmpNo()+"</td><td>"+e.getEName()+"</td><td>"+e.getSalary()); out.println("</td><td>"+e.getDeptNum()+"</td></tr></tbody></table>"); long totalRows =dao.getNoOfRows(); long noOfPages =totalRows/3; if(totalRows%3!=0) { noOfPages++; } if(pageNo==1) { int x=pageNo+1; out.println("<a href=./PagenationServlet?pageNo="+x+"> Next"); } else if(pageNo==noOfPages) { int x=pageNo-1; out.println("<a href=./PagenationServlet?pageNo="+x+"> Prev"); } else { int x=pageNo+1; out.println("<a href=./PagenationServlet?pageNo="+x+"> Next"); int y=pageNo+1; out.println("<a href=./PagenationServlet?pageNo="+y+"> Next"); } } }
Что я уже пробовал:
Я пытаюсь сделать программу, связанную с концепцией пагинации, используя Servlet-HibernateIntegration. но когда я выполняю программу я получаю сообщение об ошибке
NumberFormatException
Richard Deeming
Вы не сказали нам, но я предполагаю, что это происходит на линии:
int pageNo=Integer.parseInt(request.getParameter("pageNo"));Вы сделали два предположения: 1) запрос содержит параметр под названием "pageNo"; и 2) Значение этого параметра может быть преобразовано в целое число.
Member 13681858
я пытаюсь напечатать 3 записи из базы данных на странице.для этого я конвертирую
ThilinaMD
пробовать Скрыть скопировать код
int pageNo=Integer.parseInt(request.getParameter("pageNo").toString());
Member 13681858
@ThilinaMD я пробовал с вашим кодом, но получаю такое же исключение.
у меня есть таблица в базе данных с именем emp1. У меня там 11 записей. я хочу напечатать 3 записи на каждой странице, на последней странице 2 записи, которые я хочу напечатать при преобразовании переменной pageNo, она выбрасывает NumberFormaatException
ThilinaMD
Поэтому сначала при запуске сервлета нет никакого значения для pageNo
. Попробуйте сначала установить значение для (используя условие if) страницы no variable.
Member 13681858
@ThilinaMD я не понял вас,не могли бы вы объяснить это
ThilinaMD
int pageNo=Integer.parseInt(request.getParameter("pageNo"));
сначала, когда сервлет запускает значение request.getParameter("pageNo")
является null
. так int pageNo
не получит значения.
ThilinaMD
Пожалуйста, посмотрите на опубликованное решение
Member 13681858
ОК
ThilinaMD
Ваша проблема решена?