2013-03-03 2 views
0

Проблема заключается в том, что всякий раз, когда я нажимаю ссылку Next на странице Home.xhtml на страницу getMoreStatusList, функция getMoreStatusList вызывается без остановки, пока не вытащит индекс из связанного исключения. Я даже печатаю значение индекса, которое я получаю от объекта сеанса statusindex, и строки ingetmorestatusList, когда внутри метода getMoreStatusList() на консоли, я использую метод results = results.subList(index,index+5);, чтобы создать подсписку, но эта строка получает вызов более одного раза и выкидывает связанного исключения, поскольку значение индекса увеличивается с каждым вызовом.Ссылка метод пожаров несколько нет. раз

1) Home.xhtml

<h:head>  
    </h:head> 

    <h:body class="thrColElsHdr">   


       <!-- --> 
       <div class="items"> 
        <div id="scroll_items"> 
         <c:forEach var="p" items="#{statusBean.statusList}"> 
           //Content 

         </c:forEach> 

        </div> 
       </div> 

    <a href ="getMoreStatusList.xhtml">Next page</a> 
    </h:body> 
    </html> 

2) Статус Бин (это содержит функцию getMoreStatusList)

public class StatusBean { 




       public List<Status> getStatusList() { 
      FacesContext context = FacesContext.getCurrentInstance(); 
      HttpSession session = (HttpSession) context.getExternalContext() 
        .getSession(true); 
      User user = (User) session.getAttribute("userdet"); 
      Query query = em.createQuery("SELECT s FROM Status s WHERE s.email='" 
        + user.getEmail() + "' ORDER BY s.timeMillis desc", 
        Status.class); 
      List<Status> results = query.getResultList(); 

      Collections.sort(results); 
      results = results.subList(0, 5); 

      session.setAttribute("statusindex", 5); 
      return results; 

     } 

     public List<Status> getMoreStatusList() { 

      System.out.println("Inside getMoreStatusList"); 
      FacesContext context = FacesContext.getCurrentInstance(); 
      HttpSession session = (HttpSession) context.getExternalContext() 
        .getSession(false); 
      User user = (User) session.getAttribute("userdet"); 
      Query query = em.createQuery("SELECT s FROM Status s WHERE s.email='" 
        + user.getEmail() + "' ORDER BY s.timeMillis desc", 
        Status.class); 
      List<Status> results = query.getResultList(); 

      Collections.sort(results); 
      int index = (int) session.getAttribute("statusindex"); 
      System.out.println(index); 
      results = results.subList(index,index+5); 
      session.setAttribute("statusindex", index + 5); 
      return results; 

     } 


    } 

3) getMoreStatusList.xhtml

<h:head></h:head> 
<h:body> 

      <c:forEach var="p" items="#{statusBean.moreStatusList}"> 

         // Content 
      </c:forEach> 


</h:body> 

</html> 

3) StackTrace (Я сократил его, потому что предел равен 30000)

Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.527--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.527--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.527--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.529--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.529--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.529--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.529--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.53--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.53--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.53--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.53--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.531--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.531--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.531--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.531--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.531--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
5 
Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.532--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.532--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.532--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.533--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.533--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.534--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.534--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.534--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.534--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.534--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.535--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.535--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.535--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.535--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.535--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.536--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
10 
Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.537--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.537--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.537--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.538--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.539--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.539--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.539--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.539--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.539--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.539--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.54--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.54--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.54--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.54--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.54--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.541--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
15 
[EL Finest]: 2013-03-03 15:09:47.541--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Comment sql="SELECT COMMENTID, COMMENT, COMMENTBY, EMAIL, PICTURE, STATUSID, TIMEMILLIS FROM COMMENT WHERE (STATUSID = ?)") 
[EL Finest]: 2013-03-03 15:09:47.541--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.541--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT COMMENTID, COMMENT, COMMENTBY, EMAIL, PICTURE, STATUSID, TIMEMILLIS FROM COMMENT WHERE (STATUSID = ?) 
    bind => [61] 
[EL Finest]: 2013-03-03 15:09:47.542--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.543--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.543--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.543--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.544--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.545--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.545--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.545--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.546--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.546--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.546--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.546--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.547--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.547--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.547--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.547--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.548--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
20 
Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.548--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.548--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.548--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.549--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.549--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.549--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.55--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.55--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.55--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.55--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.55--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.551--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.551--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.551--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.551--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.552--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
25 
Inside getMoreStatusList 
[EL Finest]: 2013-03-03 15:09:47.553--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.553--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.553--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.554--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.554--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Friend sql="SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?)") 
[EL Finest]: 2013-03-03 15:09:47.554--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.554--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT FRIENDREQUESTID, EMAIL, FRIENDEMAIL, STATUS FROM FRIEND WHERE (EMAIL = ?) 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.555--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.555--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.555--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.555--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.556--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
[EL Finest]: 2013-03-03 15:09:47.556--UnitOfWork(1909765639)--Thread(Thread[http-bio-8080-exec-1,5,main])--Execute query ReadAllQuery(referenceClass=Status sql="SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC") 
[EL Finest]: 2013-03-03 15:09:47.556--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection acquired from connection pool [default]. 
[EL Fine]: 2013-03-03 15:09:47.556--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--SELECT STATUSID, EMAIL, PICSTATUS, PICSTATUSDESC, PICTURE, STATUSBY, STATUSMSG, TIMEMILLIS, VIDEOSTATUS, VIDEOSTATUSDESC FROM STATUS WHERE (EMAIL = ?) ORDER BY TIMEMILLIS DESC 
    bind => [[email protected]] 
[EL Finest]: 2013-03-03 15:09:47.557--ServerSession(1973858306)--Connection(1390011245)--Thread(Thread[http-bio-8080-exec-1,5,main])--Connection released to connection pool [default]. 
30 
Mar 03, 2013 3:09:47 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/FreeBird_v.6] threw exception [/getMoreStatusList.xhtml @17,41 test="${p.statusmsg!=null}" /getMoreStatusList.xhtml @17,41 test="${p.statusmsg!=null}": /getMoreStatusList.xhtml @14,60 items="#{statusBean.moreStatusList}": Error reading 'moreStatusList' on type com.bean.StatusBean] with root cause 
java.lang.IndexOutOfBoundsException: toIndex = 35 
    at java.util.SubList.<init>(AbstractList.java:622) 
    at java.util.RandomAccessSubList.<init>(AbstractList.java:775) 
    at java.util.AbstractList.subList(AbstractList.java:484) 
    at java.util.Vector.subList(Vector.java:1034) 
    at com.bean.StatusBean.getMoreStatusList(StatusBean.java:191) 
    at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source) 
    at ...... 
+0

Я сомневаюсь, что количество записей в tabke 'Staus' всегда кратно пяти. так что происходит, когда у вас есть 17 записей? вы получите 3 раза 5 при 4-й попытке, только 2 напоминают так: «results.subList (index, index + 5)» будет вызывать «IndexOutOfBoundsException». вам нужно проверить, превышает ли индекс + 5' размер списка, если да передать 'results.size()' вместо – A4L

+0

Я. вы правы, я добавлю инструкцию If, чтобы преодолеть эту проблему, но до сих пор не получаю это почему метод getMoreStatusList() получает вызов более одного раза, когда я просто нажимаю ссылку на страницу getMoreStatusList, которая должна запускать функцию getMoreSatusList() на странице Home.xhtml –

+0

: http://stackoverflow.com/ Вопросы/2090033/why-jsf-calls-getters-multiple-times – 757071

ответ

1

Вы должны использовать <ui:repeat>xmlns:ui="http://java.sun.com/jsf/facelets") вместо <c:forEach>

foEach является обработчик тега, repeat является компонентом. Вы можете прочитать больше о разнице между этими двумя на этом blog

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets"> 
<h:head> 
</h:head> 
<h:body class="thrColElsHdr"> 
    <ui:repeat var="p" value="#{statusBean.statusList}"> 
     <div> 
      <h:outputText label="Status" value="#{p.value}" /> 
     </div> 
    </ui:repeat> 
    <a href="getMoreStatusList.xhtml">Next page</a> 
</h:body> 
</html> 

и

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets"> 
<h:head></h:head> 
<h:body> 
    <ui:repeat var="p" value="#{statusBean.moreStatusList}"> 
     <div> 
      <h:outputText label="Status" value="#{p.value}" /> 
     </div> 
    </ui:repeat> 
    <a href="getMoreStatusList.xhtml">Next page</a> 
</h:body> 
</html> 

избавиться от IndexOutOfBoudsException использовать следующее getMoreStatusList:

int index = (Integer) session.getAttribute("statusindex"); 
int end = index+5 > results.size() ? results.size() : index+5; 
List<Status> subList = results.subList(index,end); 
session.setAttribute("statusindex", end); 

и в getStatusList:

int index = 0; 
int end = index+5 > results.size() ? results.size() : index+5; 
List<Status> subList = results.subList(0, end); 
+0

Я понимаю все, что вы написали, то, что я не понимаю, является то, почему getMoreStatusList() вызывается более одного раза, так как я нажимаю только ссылку. –

+0

ссылка запускается только один раз, вызовы метода bean происходят на сервере несколько раз. прочитайте раздел «Несвязанный» этого ответа http://stackoverflow.com/questions/8903483/cforeach-returns-only-one-empty-value – A4L

+0

'int index = (Integer) session.getAttribute (" statusindex "); \t \t int end = index + 5> results.size()? results.size(): index + 5; System.out.println ("Значение индекса и конец в getMoreStatusList" + индекс + "" + конец); Список subList = results.subList (индекс, конец); session.setAttribute ("statusindex", end); ' Я добавил дополнительную строку для кода, предложенного вами, значение индекса и конца всегда равно 20 и 20 –