Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSF core tag <c:forEach/> value overflow while iterate

I have problem with core tag in JSF. Im using this tag for pagination button rendering. There is one big problem - when there is more then 127pages. Iteration value overflows. It looks like the iteration value is BYTE typed :-(. There is a code:

<c:forEach begin="#{listActionBean.start}" step="#{listActionBean.step}" end="#{listActionBean.allCnt}" var="i">
      <ice:outputText value="#{i}"/>
      <ice:outputText value="|"/>
    </c:forEach>

Values on the listActionBean are INT typed. Its the same when i write:

<c:forEach begin="1" step="1" end="150" var="i">
      <ice:outputText value="#{i}"/>
      <ice:outputText value="|"/>
    </c:forEach>

The output is:

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | -128 | -127 | -126 | -125 | -124 | -123 | -122 | -121 | -120 | -119 | -118 | -117 | -116 | -115 | -114 | -113 | -112 | -111 | -110 | -109 | -108 | -107 | -106 |

You can se the negative numbers. Is there some kind of switch to "longer" data type? or some another solution? Thank you for reply.

like image 354
veselej Avatar asked Jul 04 '11 08:07

veselej


1 Answers

It works if you use varStatus instead of var:

<c:forEach begin="1" step="1" end="150" varStatus="status">
    <h:outputText value="#{status.index}" />
    <h:outputText value="|" />
</c:forEach>
like image 175
phlogratos Avatar answered Sep 29 '22 08:09

phlogratos