Struts - condição

Tenho o seguinte código:

<logic:present name="atributosOE" scope="session"> <logic:iterate id="atrib" name="atributosOE"> <tr class="odd"> <td class="txt"><bean:write name="atrib" property="descricaoAtributo" /></td> <td class="txt"><bean:write name="atrib" property="conteudoTexto" /></td> </tr> </logic:iterate> </logic:present>
Como eu faria um estrutura condicional em relação ao “descricaoAtributo”?
Se for uma coisa, no “conteudoTexto” aparece o texto da sessão, se for outra vai aparecer um combobox

Alguem pode me ajudar?

Flws…
:smiley:

Tente isso:

[code]<logic:equal name=“atrib” property=“descricaoAtributo” value=“valor a ser comparado”>

</logic:equal>

<logic:notEqual name=“atrib” property=“descricaoAtributo” value=“valor a ser comparado”>

Valor 1 Valor 2 Valor 3

</logic:notEqual>[/code]

é isso mesmo, muito obrigado.

E como eu faria pra dentro desse logic:iterate, onde tem o selec, listar as opções a partir de uma Collection que está dentro da sessao?

Flws…
:slight_smile:

Hummm, pergunta por pergunta né…é bom você ter uma documentação das tags do struts também, com exemplos.

Mas taí, talvez ajude-o:

<logic:present name="conjDados">
<html:select property="codClasse" styleClass="combo" style="width:95">
<html:options collection="conjDados" property="RV_LOW_VALUE" labelProperty="RV_MEANING" />
</html:select>
</logic:present>

Essa estrutura conjDados é um ArrayList de HashMap, resultado de uma consulta em cima da tabela CG_REF_CODES (table de domínios) do oracle.

humm, não consegui não… veja como eu fiz:

<logic:present name="atributosOE" scope="session"> <logic:iterate id="atrib" name="atributosOE" scope="session"> <tr class="odd"> <td class="txt"><bean:write name="atrib" property="descricaoAtributo" /></td> <td class="txt"> <html:select property="atrib"> <html:options collection="conteudoCombo" property="codigoOE" labelProperty="descricaoOE" /> </html:select> </td> </tr> </logic:iterate> </logic:present>
Deu esse erro:
Error 500: Cannot find bean under name org.apache.struts.taglib.html.BEAN

atributosOE é a sessao
conteudoCombo é a collection
codigoOE e descricaoOE são os indices que tem no arraylist

Flws…
:frowning:

Existe esse carinha no seu form?

<html:select property=“atrib”>

Não confunda property com o id do iterate.

Vai fazendo um teste aos poucos. Tire as taglibs do <select…> e vai colocando-as e testando caso a caso.