开发者

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 iteratio开发者_开发百科n 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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜