Problema Grave com Struts 2 (URGENTE!)

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! :frowning:

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

Problema solucionado!

Foi identificado que o problema estava na display table/column e não da condição (s:if). Com isso, houve a necessidade de retirar os atributos property e url da display:column, adicionando-as dentro de tal display.

Caso alguém precise, vai aí a solução.

                        <s:if test="restricaoStatusPedidoMap[#attr.pedidos.id]">
                            <display:column title="Status" sortable="true" headerClass="sortable" style="white-space:nowrap">
                                <s:property value="%{#attr.pedidos.valor}"/>
                            </display:column>
                        </s:if>
                        <s:else>
                            <display:column title="Status" media="html" sortable="true" headerClass="sortable" style="white-space:nowrap">
                                <s:url id="url" action="nomeDaAction" includeParams="none">
                                    <s:param name="paramId" value="#attr.pedidos.id"/>
                                    <s:param name="method:execute">execute</s:param>
                                </s:url>                             
                                <s:a href="%{url}"><s:property value="%{#attr.pedidos.valor}"/></s:a>
                            </display:column>
                        </s:else>

[]'s