[ 
https://issues.apache.org/jira/browse/MYFACES-3034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12991850#comment-12991850
 ] 

Rey Dalisay commented on MYFACES-3034:
--------------------------------------

Just to add ... On Mojarra 2.0.4, the size attribute is taken to mean the 
position of the last element to retrieve, not the number of elements to 
retrieve.  The following tag performs on Mojarra what was originally intended 
from the above test case.

<ui:repeat var="listing" value="#{myListings.listings}" size="38" offset="20">


> ui:repeat offset and size performs incorrect validation
> -------------------------------------------------------
>
>                 Key: MYFACES-3034
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3034
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.0.3
>         Environment: OpenJDK 1.6.0_20; Tomcat 6.0.20; Ubuntu 10.04 on kernel 
> version 2.6.32-28-generic
>            Reporter: Rey Dalisay
>
> The following ui:repeat tag with those values of size and offset throw a 
> FacesException with the message: "iteration offset cannot be greater than 
> collection size."
> <ui:repeat var="listing" value="#{myListings.listings}" size="19" offset="20">
> It appears that the method _validateAttributes() in the UIRepeat class 
> performs the validation incorrectly.  It seems to assume that the value of 
> size is the size of the collection, rather than the desired iteration size.  
> Here is the relevant code from _validateAttributes():
>         if ((size > -1) && (begin > size)) {
>             throw new FacesException ("iteration offset cannot be greater " +
>                 "than collection size");
>         }
> The exception is thrown in the above case because begin > size, where begin = 
> offset = 20.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to