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…
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…
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…
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.