[jboss-user] [JBoss Seam] - EntityQuery : paging problem, only 1st and 2th page does wor
mark.wigmans
do-not-reply at jboss.com
Sun Nov 11 15:32:01 EST 2007
When I use paging via a subclass of EntityQuery I noticed that only the first page and second page work, but after that I can't step to the 3rd page.
The value of firstResult is always 'null' when the next() call is started.
I use:
jboss seam 2.0.0. GA
jboss AS 4.2.2 GA
I test with 8 records in the database
------------------------ cardslist.java ----------------
import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.framework.EntityQuery;
| import org.jboss.seam.log.Log;
|
| @Name("cardsList")
| public class CardsList extends EntityQuery
| {
| private static final long serialVersionUID = 1L;
|
| @SuppressWarnings("unused")
| @Logger
| static private Log log;
|
| /**
| * default constructor
| */
| public CardsList() {
| setMaxResults(2);
| setOrder("id");
| }
|
| @Override
| public String getEjbql()
| {
| return "select cards from Cards cards";
| }
|
|
| /**
| * @see org.jboss.seam.framework.Query#setFirstResult(java.lang.Integer)
| */
| @Override
| public void setFirstResult(Integer firstResult) {
| log.error("set first result:" + firstResult);
| super.setFirstResult(firstResult);
| }
|
|
| /**
| * @see org.jboss.seam.framework.Query#getFirstResult()
| */
| @Override
| public Integer getFirstResult() {
| log.error("get first result:" + super.getFirstResult());
| return super.getFirstResult();
| }
|
| @Override
| public void next()
| {
| log.error("first result:" + getFirstResult());
| log.error("max result:" + getMaxResults());
| log.error("next first result:" + getNextFirstResult());
| super.next();
| }
|
|
| /**
| * otherwise the isNextExists() call result in a bad result the first page.
| */
| @Override
| public boolean isNextExists() {
| return getResultList() != null
| && getResultCount() > (getFirstResult() != null ? getFirstResult()
| : 0)
| + getMaxResults();
| }
|
| }
|
------------------------------ part of cardslist.xhtml -----------------------------
| <h:outputText value="Item #{cardsList.firstResult + 1}..#{cardsList.firstResult + cardsList.maxResults} of #{cardsList.resultCount}"/>
|
| <h:commandLink action="#{cardsList.previous}" value="Previous #{cardsList.maxResults} "
| rendered="#{cardsList.previousExists}"/>
| <h:commandLink action="#{cardsList.next}" value="Next #{cardsList.maxResults}"
| rendered="#{cardsList.nextExists}"/>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4103510#4103510
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4103510
More information about the jboss-user
mailing list