The forEach tag is wrong when iterating in 'fixed number of times' mode. When 'begin' parameter equals the 'end' parameter, it doesn't evaluate at all. When 'end' is 'begin' + 1, it iterates twice as should iterate towards 'end' inclusive. This means it's not possible to iterate once.
I can't replicate the problem. Consider the following examples: <c:forEach begin="0" end="0"> Loop! <br /> </c:forEach> <c:forEach begin="0" end="1"> Loop! <br /> </c:forEach> For me, the first loop executes once, and the second executes twice. If you're still having a problem, please be more specific; post an entire page of input and output, and specify the container that you're running in.