Exibir conteúdo dentro da TAG LIB

5 respostas
EmerXavier

Boa noite, moçada

Problema: Preciso personalizar o conteudo dos links do menu com os objetos que vem de uma lista… exemplo:

<code>
<s:iterator value="#session.funcionalidades">
<s:a action="<%= transacao %>"><s:text name="<%= itemMenu %>" /></s:a> |
</s:iterator>
</code>

Transação e itemMenu são atributos dos objetos funcionalidade que estão na lista.

Como faço pra reconhecer? Já tentei com EL ${}, mas acho que me falta tlds.
Se EL funcionar onde arrumo essas tlds?

Obrigado!
Abraço!

5 Respostas

EmerXavier

Ah como vcs devem ter percebido estou usando struts2

drsmachado

1 - Qual o problema em utilizar a tag [code ] para postar o codigo? Falta tempo ou vai impossibilita-lo de ter filhos?
2 - Falta tld? Struts 2 não usa mais tlds locais, declarou

<%@taglib prefix="s" uri="/struts-tags" %> ja tem tudo o que precisa para usar com tags struts 2.
3 - Como voce esta iterando sobre uma colection ou array, precisa referenciar as variaveis que existem no mesmo.

EmerXavier

Já tentei varias tags diferentes e nenhuma funcionou.

&lt;s:iterator value="#session.funcionalidades"&gt;
	&lt;s:a action='&lt;s:property value="transacao" /&gt;' &gt;&lt;s:text name='&lt;s:property value="itemMenu" /&gt;' /&gt;&lt;/s:a&gt; |
&lt;/s:iterator&gt;

Pode me dizer qual delas funciona pra eu testar aqui?

EmerXavier

Alguém?

drsmachado

Pelo visto a pesqusia parou meio cedo, né:
Struts 2 tem algumas particularidades que ajudam ou atrapalham, dependendo do nível de conhecimento sobre o framework.

Enfim, umas das coisas que não é tão explorada, devido ao fácil uso de EL, é o operador %.

A função do % no struts 2 é semelhante ao $ no EL, ou seja, referenciar um objeto pelo nome, para uso dentro da jsp

//itera sobre uma lista de nome lista
//onde cada item se chama item
	<s:iterator value="lista" var="item">
//cada objeto item possui um atributo chamado nome
//%{nome} referencia nome enquanto atributo do objeto item
		<s:property value="%{nome}"/>
	</s:iterator>

Isso pode resolver teus problemas.

Criado 7 de março de 2012
Ultima resposta 8 de mar. de 2012
Respostas 5
Participantes 2