Bugzilla bug report #706 reports that you will get a JSP page exception
when you try to iterate over collection that contains null values. This
is caused by the fact that the JSP page context refuses to allow null
attributes. The bug report suggests one alternative (although the
proposed implementation has problems), but I would like to solicit
suggestions and thoughts on what the correct behavior should be.
Here are the alternatives that I can think of:
(1) No change -- document a restriction in the usage notes
on the <logic:iterate> tag.
(2) Silently skip this element of the iteration, with no notice
to the surrounding page. The total number of times through
the loop, from the perspective of the page, will be less than
the size of the underlying collection.
(3) Do not skip this element, but don't add it to the page context
either. The page can then use <logic:notPresent> to test for
whether the item is actually there or not.
(4) Do not skip this element, but insert a reference to a dummy
object instead of the null. This is likely to cause class cast
exceptions, and is unlikely to be practical when the iteration
explicitly includes a "type" attribute.
(5) Other alternatives I have not thought of?
All of the listed alternatives have their problems, but I am currently
leaning towards (1). Comments? Suggestions?
Craig McClanahan