[英]Unable to get first element in a table on 0 position while retrieving it?
这是我的jsp页面
<%@page import="java.util.List"%>
<%@page import="org.hibernate.cfg.Configuration"%>
<%@page import="org.hibernate.Session"%>
<%@page import="org.hibernate.SessionFactory"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
SessionFactory sessionfactory=null;
Session Listsession=null ;
sessionfactory=new Configuration().configure().buildSessionFactory();
Listsession = sessionfactory.openSession();
String name="";
String age="";
String address="";
String phone_no="";
try
{
int c=0;
if(request.getAttribute("c")!=null)
{
c=Integer.parseInt(request.getAttribute("c").toString());
}
org.hibernate.Query query=Listsession.createQuery("select name,age,address,phone_number from paging order by auto_inc");
query.setFirstResult(c);
query.setMaxResults(10);
List check1 =query.list();
java.util.Iterator on=check1.iterator();
while(on.hasNext())
{
Object oo[]=(Object[])on.next();
name=(String)oo[0].toString().trim();
age=(String)oo[1].toString().trim();
address=(String)oo[2].toString().trim();
phone_no=(String)oo[3].toString().trim();
%>
<div align="center" style="border-bottom:1px solid #ccc "> Name <input type="text" name="text" value="<%=name %> " disabled="disabled">
<br><br>
</div>
<% }
}
catch(Exception ee){
out.print(ee.getMessage());
}
%>
<center> <img src="fgfdg.png"> </center>
<table align="center">
<tr>
<td><a href="Pagecount?c=0">First Page</a></td>
<%
int value_counter=0;
int pagecount=0;
long counters=0;
try{
org.hibernate.Query query=Listsession.createQuery("select count(*) from paging order by auto_inc");
List check1 =query.list();
java.util.Iterator on=check1.iterator();
while(on.hasNext())
{
Object oo=on.next();
counters=((Number)oo).longValue();
}}
catch(Exception e)
{
out.println(e);
}
int count=(int)counters/10;
int Counter_in_int=count*10;
double xyz=Counter_in_int-counters;
if(xyz>=0)
{
for(int i=0;i<count;i++)
{
pagecount++;
%>
<td><a href="Pagecount?c=<%=value_counter %>"><%= pagecount%></a></td>
<% value_counter=value_counter+10;} }
else
{
%>
<%
for(int i=0;i<=count;i++)
{
pagecount++;
%>
<td><a href="Pagecount?c=<%=value_counter %>"><%= pagecount%></a></td>
<% value_counter=value_counter+10;} }
%>
<td><a href="Pagecount?c=<%=value_counter-10 %>">Last Page</a></td>
</tr>
</table>
</body>
</html>
这是对应的servlet
package testingpackage;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/nn"})
public class Pagecount extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
request.setAttribute("c", request.getParameter("c"));
RequestDispatcher rd=getServletContext().getRequestDispatcher("/pager.jsp");
rd.include(request, response);
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
该数据库包含30条记录:
Name
Tom
Mary
Martha
Angelina
Joe
Gordon
Kim
Steve
Kristen
John
Mike
Smith
Daniel
Sheamus
Vince
Longbottom
Harry
Hermione
Ron
Peter
Sammy
Fitzgerald
Leonardo
Ben
Bruce
Jude
Richie
Kate
William
Ron
运行此页面后,我在每个页面上获得10个结果。我知道,在MySQL中插入数据时,我们将其插入第1个位置(MYSQL中的索引从1开始),而在检索数据时,MYSQl的第1个索引中的数据位于第0个索引中我们的清单。
所以我的问题是
上面的代码如何正确工作,因为在第一页上它是将名称从“ Tom”打印到“ John”,即数据库中的前10条记录,但是现在当我单击第二页并将c设置为10并再次打印时记录从“迈克”到“彼得”,但应从“约翰到罗恩”打印,因为约翰在数组中位于第10位。
据我所知,它正在打印预期的结果。 第一个索引为0,因此索引为10的元素为第11个元素,对应于“ Mike”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.