Быстро просматривая ваш код, я вижу, что вы ссылаетесь на статус в вашем условном (если) утверждении.Ваше условное выражение должно напрямую ссылаться на метод доступа объекта в списке, через который вы перебираете, например:
<s:iterator value="questao.alternativas" status="stat">
<tr>
<td>
// If correta is a boolean value, there is not need to use an
// == operator at all
<s:if test="%{correta}">
Correta!
</s:if>
</td>
</tr>
</s:iterator>
Когда итератор пересекает предоставленный список, предполагая, что Questao.alternativas является списком объектов с средством доступаметоды, вы напрямую ссылаетесь на методы внутри вашего итератора.
Статус в итераторе дает вам доступ к позиции итератора.Например, если вы хотите определить, находится ли ваш цикл на последнем элементе в списке для выполнения чего-то особенного, вы должны сделать что-то вроде:
<s:if test="%{#stat.last}">--- END OF LIST ---</s:if>
Или получить индексированную позицию текущего элемента в вашеммассив или список:
<s:property value=%{#stat.index} />