Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成下一个\上一个按钮,JSP_Java_Jsp_Split_Html Table - Fatal编程技术网

Java 生成下一个\上一个按钮,JSP

Java 生成下一个\上一个按钮,JSP,java,jsp,split,html-table,Java,Jsp,Split,Html Table,我正处于进退两难的境地,不知道如何解决它 我有一个ArrayList,它从数据库中获取信息,并在html表上“绘制”。 问题是信息越大,页面越长。如果它有2000条记录,那么表就会变得那么长,用户向下滚动会很痛苦 我想做一个下一个和上一个按钮,但我不知道怎么做。 对不起,我有葡萄牙语的 ArrayList<ArrayRegistos> listaRegistos = (ArrayList<ArrayRegistos>) request.getAttribute("list

我正处于进退两难的境地,不知道如何解决它

我有一个ArrayList,它从数据库中获取信息,并在html表上“绘制”。 问题是信息越大,页面越长。如果它有2000条记录,那么表就会变得那么长,用户向下滚动会很痛苦

我想做一个下一个和上一个按钮,但我不知道怎么做。 对不起,我有葡萄牙语的

ArrayList<ArrayRegistos> listaRegistos = (ArrayList<ArrayRegistos>) request.getAttribute("listaRegistos");

if (listaRegistos.size() == 0) {

    out.println("<h2>No records</h2>");
    %><%
} else {%><%
            //out.println("<br/>");

            //out.println("<span id=\"cor_tabela\" style=\"color: black;\">");
            out.println("<table id=\"myTable\" border=3 width=\"1100\"height=\"1\">");
            out.println("<thead>");
            out.println("<tr>");
            out.println("<center><td>Estado</td><td>Data Início</td><td>Hora Início</td><td>Técnico</td><td>Serviço</td><td>Descricao</td><td>Data Fim</td><td>Hora Fim</td></center>");
            //out.println("</span>");
            out.println("</tr>");
            out.println("</thead>");
            out.println("<tbody>");
            for (ArrayRegistos i : listaRegistos) {
                out.println("<input type=\"hidden\" name=\"teste\" value=\""+i.getId()+"\"> ");
            //  out.println("<tr>");
            //  out.println("<td>");
                if(i.getEstado().equals("Pendente")){
                    out.println("<tr class=\"pendente\">");
                    out.println("<td>");
                    out.println(String.format("<center><a href=\"DetalheRegisto?detalhe="+i.getId()+"\"><span id=\"cor\" style=\"color: red ;\">"+i.getEstado()+"</span></a></center>"));
                }else if(i.getEstado().equals("Concluído")){
                    out.println("<tr class=\"concluido\">");
                    out.println("<td>");
                    out.println(String.format("<center><a href=\"DetalheRegisto?detalhe="+i.getId()+"\"><span id=\"cor\" style=\"color: green ;\">"+i.getEstado()+"</span></a></center>"));
                }else if(i.getEstado().equals("Validado")){
                    out.println("<tr class=\"validado\">");
                    out.println("<td>");
                    out.println(String.format("<center><a href=\"DetalheRegisto?detalhe="+i.getId()+"\"><span id=\"cor\" style=\"color: blue ;\">"+i.getEstado()+"</span></a></center>"));
                }
                //out.println(String.format("<center>"+i.getEstado()+"</center>"));
                out.println("</td>");
                out.println("<td>");
                out.println(String.format("<center>"+i.getDataInicio()+"</center>"));
                out.println("</td>");               
                out.println("<td>");
                out.println(String.format("<center>"+i.getHoraInicio()+"</center>"));
                out.println("</td>");
                out.println("<td>");
                out.println(String.format("<center>"+i.getTecnico()+"</center>"));
                out.println("</td>");
                out.println("<td>");
                out.println(String.format("<center>"+i.getServico()+"</center>"));
                out.println("</td>");
                out.println("<td>");    
                String descricao = i.getDescricao();
                if (descricao!=null && descricao.length()> 60){

                    out.println("</span>");
                    descricao=descricao.substring(0,40);
                    out.println("<center><span class=\"dropt\" title=\"\">"+descricao+"...</center>");
                    out.println("<span style=\"color: black ;\">"+i.getDescricao()+"</span>");
                    //out.println(String.format("<center>"+descricao+"...</center>"));
                    //System.out.println(descricao);
                }else if(descricao==null){
                    descricao="Sem descrição";
                    out.println(String.format("<center>"+descricao+"</center>"));
                }else if(descricao.isEmpty()){
                    descricao="Sem descrição";
                    out.println(String.format("<center>"+descricao+"</center>"));

                }else{          
                    out.println(String.format("<center>"+i.getDescricao()+"</center>"));
                }
                //out.println(String.format("<center>"+i.getDescricao()+"</center>"));
                out.println("</td>");
                out.println("<td>");
                out.println(String.format("<center>"+i.getDataFim()+"</center>"));
                out.println("</td>");
                out.println("<td>");
                out.println(String.format("<center>"+i.getHoraFim()+"</center>"));
                out.println("</td>");
                out.println("</tr>");



            out.println("</tbody>");
            out.println("</table>");



        }

%></center>
ArrayList”);
}else如果(i.getEstado().equals(“conclusiído”)){
out.println(“”);
out.println(“”);
out.println(String.format(“”);
}else如果(i.getEstado().equals(“Validado”)){
out.println(“”);
out.println(“”);
out.println(String.format(“”);
}
//out.println(String.format(“+i.getEstado()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getDataInicio()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getHoraInicio()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getTecnico()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getServico()+”);
out.println(“”);
out.println(“”);
字符串descripcao=i.getdescripcao();
if(descripao!=null&&descripao.length()>60){
out.println(“”);
descripcao=descripcao.子串(0,40);
out.println(“+descripao+”);
out.println(“+i.getDescripticao()+”);
//out.println(String.format(“+descripao+”);
//System.out.println(descripcao);
}else if(descripao==null){
descripcao=“Sem descripção”;
out.println(String.format(“+descripao+”);
}else if(descripcao.isEmpty()){
descripcao=“Sem descripção”;
out.println(String.format(“+descripao+”);
}否则{
out.println(String.format(“+i.getDescripticao()+”);
}
//out.println(String.format(“+i.getDescripticao()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getDataFim()+”);
out.println(“”);
out.println(“”);
out.println(String.format(“+i.getHoraFim()+”);
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“”);
}
%>

我知道有些人认为使用Scriptlet是一种罪恶。但这里有一个演示页面

<%@ page import="java.util.*" %>
<%
   ArrayList<String> list = new ArrayList<String>();
   for(int i = 0; i < 35; i++){
       list.add("item" + i);
   }
   int totalCount = 0;
   int perPage = 10;
   int pageStart = 0; 
   String start = request.getParameter("start");
   if(start != null)pageStart = Integer.parseInt(start);
   if(pageStart < 0)pageStart = 0;
   totalCount = list.size();
   if(pageStart >= totalCount)pageStart = pageStart - perPage;
%>
<a href="<%=request.getRequestURL()%>?start=<%=pageStart - 10 %>">Previous</a>
<%=pageStart + 1 %> - <%=pageStart + 10 %> 
<a href="<%=request.getRequestURL()%>?start=<%=pageStart + 10 %>">Next</a><br/>
<%
   for(int x = pageStart; x < pageStart + perPage && x < list.size(); x++){
       out.print((String)list.get(x) + "<br/>");
   }
%>

=总计数)页面开始=页面开始-每页;
%>
-  

如果您可以使用JSTL,那么我们就可以避免使用Scriptlet

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="total" scope="session" value="${fn:length(list)}"/>
<c:set var="perPage" scope="session"  value="10"/>
<c:set var="pageStart" value="${param.start}"/>
<c:if test="${empty pageStart or pageStart < 0}">
    <c:set var="pageStart" value="0"/>
</c:if>
<c:if test="${total <= pageStart}">
    <c:set var="pageStart" value="${pageStart - perPage}"/>
</c:if>
<a href="?start=${pageStart - perPage}">Previous</a>${pageStart +1} - ${pageStart + perPage} 
<a  href="?start=${pageStart + perPage}">Next</a><br/>
<c:forEach var="item" items="${list}" begin="${pageStart}" end="${pageStart + perPage - 1}" >
        ${item}<br/>
</c:forEach>   

${pageStart+1}-${pageStart+perPage}

${item}

我知道有些人认为使用Scriptlet是一种罪恶。但这里有一个演示页面

<%@ page import="java.util.*" %>
<%
   ArrayList<String> list = new ArrayList<String>();
   for(int i = 0; i < 35; i++){
       list.add("item" + i);
   }
   int totalCount = 0;
   int perPage = 10;
   int pageStart = 0; 
   String start = request.getParameter("start");
   if(start != null)pageStart = Integer.parseInt(start);
   if(pageStart < 0)pageStart = 0;
   totalCount = list.size();
   if(pageStart >= totalCount)pageStart = pageStart - perPage;
%>
<a href="<%=request.getRequestURL()%>?start=<%=pageStart - 10 %>">Previous</a>
<%=pageStart + 1 %> - <%=pageStart + 10 %> 
<a href="<%=request.getRequestURL()%>?start=<%=pageStart + 10 %>">Next</a><br/>
<%
   for(int x = pageStart; x < pageStart + perPage && x < list.size(); x++){
       out.print((String)list.get(x) + "<br/>");
   }
%>

=总计数)页面开始=页面开始-每页;
%>
-  

如果您可以使用JSTL,那么我们就可以避免使用Scriptlet

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="total" scope="session" value="${fn:length(list)}"/>
<c:set var="perPage" scope="session"  value="10"/>
<c:set var="pageStart" value="${param.start}"/>
<c:if test="${empty pageStart or pageStart < 0}">
    <c:set var="pageStart" value="0"/>
</c:if>
<c:if test="${total <= pageStart}">
    <c:set var="pageStart" value="${pageStart - perPage}"/>
</c:if>
<a href="?start=${pageStart - perPage}">Previous</a>${pageStart +1} - ${pageStart + perPage} 
<a  href="?start=${pageStart + perPage}">Next</a><br/>
<c:forEach var="item" items="${list}" begin="${pageStart}" end="${pageStart + perPage - 1}" >
        ${item}<br/>
</c:forEach>   

${pageStart+1}-${pageStart+perPage}

${item}

Hi rickz,谢谢你的回复和演示。我将尝试在我的项目中修改第一个代码。我想我会有一些问题,因为我仍然试图理解其中的一些部分。我不能使用Jstl,因为我对它一无所知:)关于你的示例,你有一个arraylist“旧的“FOR”,我不知道如何使用“new”FOR。无论如何,我会尽我最大的努力;)我想我已经接近做到了,但我不能调整我的“FOR”,因为我有“new one”:“FOR(arrayregistosi:listaRegistos){”如果你想使用分页,你不能使用新的(每个)。我已经用“old one”实现了",但现在我想知道为什么按钮会给我空指针;)但是你的代码非常有用。嗨,rickz,谢谢你的回复和演示。我将尝试在我的项目中修改第一个代码。我想我会有一些问题,因为我仍然试图理解一些部分。我不能使用Jstl,因为我关于你的例子,你有一个带有“旧”FOR的arraylist,我不知道如何使用“新”FOR来完成它。无论如何,我会尽我最大的努力;)我想我已经接近完成了,但是我不能修改我的“FOR”,因为我有“新的”:“FOR(ArrayRegistos i:listaRegistos){”你不能使用新的(对于每个)如果你想使用分页。我已经用“旧的”做了,但是现在我想知道为什么按钮会给我空指针;)但是你的代码非常有用。