<c:forEach begin="1" end="1" > produces no code For each tag with begin equals end produces no iterations, while <c:forEach begin="1" end="2" > produces two iterations.
I can't replicate this. Since it's been tested numerous times in numerous situations, I do not believe it to be a bug in the Standard Taglib. Are you certain that you are using the Standard Taglib and not another implementation of JSTL (e.g., Resin's optimized implementation)?