I was going through the online Jstl tld documentation. I found that required value is false for all the attributes in c:forEach.But if dont mention any attribute in c:forEach i am getting runtime exception.Is something wrong in documentation?
In 'c.tld' of standard.jar file also, all <required> element's of <attribute> are marked as false. This is from c.tld file,
I tested in Tomcat5.5.9 without specifying any attributes(c:forEach />) and I got exception
org.apache.jasper.JasperException: /testForEach.jsp(14,0) <h3>Validation error messages from TagExtraInfo for c:forEach</h3>
<c:forEach> Repeats its nested body content over a collection of objects, or repeats it a fixed
number of times.
... what I understand is:
to iterate with c:forEach you need to provide either <items> or <begin> && <end> otherwise you can not iterate, that's why <items> && <begin> && <end> are not mandatory because you are allowed to skip one (items) or the other (begin && end), depending on what you are iterating over.
If you skip <items> you have to provide <start> && <end>.
If you have <items> you can skip <end> or both <start> && <end>
For the other attributes I guess it's easier to understand why they are not mandatory.