JSP EL expressions em tags do Struts 2.1 [RESOLVIDO]

Olá galera,

Estava utilizando a versão 2.09 do Struts num projeto, resolvi fazer um upgrade e colocar a versão 2.1.
Fiz as alterações necessárias e o projeto voltou a rodar.

O problema foi na hora de setar um valor num componente <s:checkBox /> que estava sendo feito por expressions.
Vi na area de issues do struts 2, que isso foi fruto de uma correção de falha de segurança. https://issues.apache.org/struts/browse/WW-2107

Pergunta: Como obter o atributo “cd” do meu objeto que está sendo iterado?

Código:

Trecho: <s:checkbox name=“checkBox” id=“checkBox” value=“cdUsuario” fieldValue="${item.cd}" theme=“simple” onclick=“confirmaAllChecked()” />
</display:table>[/code]

<display:table requestURI="/usuario/pesquisar.action" name="listUsuPesquisa" list="listUsuPesquisa" export="false" class="list" pagesize="15" uid="item"> <display:column title='<input type="checkbox" name="selectAll" id="selectAll" value="" onclick="checkAll()"/>'> <s:checkbox name="checkBox" id="checkBox" value="cdUsuario" fieldValue="${item.cd}" theme="simple" onclick="confirmaAllChecked()" /> </display:table>


Exceção

According to TLD or attribute directive in tag file, attribute fieldValue does not accept any expressions

Obrigado!!!


Solução:[size=18] [/size]

Tinha descobrido a solução, mas não pude postar no forum.
Conforme o amigo Herrera postou, o atributo pode ser obtido via #attr

fieldValue="%{#attr.primitivo.codEntidade}"
onde:
primitivo é o nome do objeto iterado
codEntidade atributo do objeto

amiguinhoooooooooooooooooo

kkkkkkkkkkkkkkkkk

bom te encontrar por aki, sinal de q o TCC tá a todo vapor hehehehe

flw

Eu tambem migrei para a versao 2.1 e tive que realizar algumas alterações desse tipo. Como vc esta fazendo a iteração ?

Herrera

Pelo visto isso derrubou muita gente, o que eu fiz (leia-se gambiarra) em um caso foi o seguinte: <c:set var="idPessoaFisica" value="${row.id}" scope="request"/> e depois pego do request para fazer o que quiser <s:if test="isUsuarioLogadoOwner(#request.idPessoaFisica)">

Não sei se ajuda.
PS: Sim… é horrível… valeu.

Faça assim :


   <dt:table name="listagem" pagesize="15" id="primitivo" requestURI="entidade!pesquisar.action" >
       <dt:column title="Sel" class="sel">
	<s:checkbox name="sel" id="sele" theme="simple"	fieldValue="%{#attr.primitivo.codEntidade}" />
        </dt:column>
         <dt:column property="razaoSocial" title="Razão Social" href="entidade.action" paramId="codEntidade" paramProperty="codEntidade" />
		</dt:table>

Herrera

Pessoal e no caso desta espressao?

alguma dica de como aplica-lá agora nesta versão 2.1.2?

<fmt:formatNumber value="${quantidade}"/>