Конфликт в том, что в первом посте
вы смешиваете
- теги JSTL (c: forEach)
- Теги Struts (s: if)
Ваше предлагаемое решение работает, потому что
теперь у вас есть
- JSTL-теги (c: forEach)
- JSTL-теги снова (c: когда)
Другим хорошим решением было бы
- Теги Struts (итератор s:)
- Снова вставляет теги (s: if)
Вообще говоря, использование тегов из нескольких технологий
ожидается, будет проблематичным.