Caros,
Estou com um problema que não estou compreendendo o que está acontecendo de errado ou o que fiz de errado. Pesquisei bastante a respeito e até então não consegui encontrar nada que me ajudasse a solução tal problema.
No meu JSP tenho um display table (display:table), e dentro do mesmo tenho uma condição (s:if) para apresentação de uma determinada coluna (display:column) de acordo com o resultado da condição. Nesta condição utilizo um MAP (<Integer,Boolean>) para controle. Segue trecho de código desenvolvido.
...
<display:table name="pedidos" id="pedidos" export="true" defaultsort="2" pagesize="200" requestURI="" class="tableDisplay" decorator="totals">
...
<s:if test="restricaoStatusPedidoMap[#attr.pedidos.id]">
<display:column property="descricao" title="Status" sortable="true" headerClass="sortable" style="white-space:nowrap"></display:column>
</s:if>
<s:else>
<display:column property="descricao" title="Status" media="html" sortable="true" headerClass="sortable" url="/xxx.action?method:execute" paramId="xxx" paramProperty="id" style="white-space:nowrap"></display:column>
</s:else>
...
</display:table>
...
O MAP está sendo montado (Action) de forma correta, posso garantir isso. E o identificador do pedido utilizado como chave (#attr.pedidos.id) está aparentemente sendo recuperar certinho também de acordo com a iteração (Coloquei um breakpoint p/ avaliar tal valor).
[Problema]: Na lista de pedidos, quando existe somente um elemento, a condição avalia de forma correta. Agora se na lista estiver mais do que 1 elemento, dá p/ entender +/- que está sendo considerado o primeiro elemento avaliado (isto é, na busca pelo elemento presente no MAP está sempre trazendo o primeiro avaliado, ou algo parecido com isso), sendo que os demais ficam incorretos. Sendo que alguns elementos deveriam entrar na condição IF e outros deveriam entrar na condição ELSE. Bizarro isso! 
Estou utilizando Java 6 e Struts 2 (2.0.9)
Se alguém puder me ajudar, ficarei grato! Estou precisando solucionar este problema o quanto antes!
[]'s