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.
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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With