[RESOLVIDO]Recuperar do banco informação selecionada pra select box

Oi pessoal,
tenho uma select box que é preenchida com dados que vem do banco de dados…
Gostaria de saber como faço pra que ao abrir a página, venha selecionada a opção q está salva no banco…
Só lembrando que é possível não ter nada salvo no banco nesse campo…
Alguém pode m ajudar?
Segue o código da select!

&lt;display:column title="Descritivo de Manutenção:" width="350px" align="center" sortable="true"&gt; &lt;select id="descrica" name="descrica"&gt; &lt;option value=""&gt;&lt;/option&gt; &lt;logic:iterate id="descrica" name="descricaos" scope="session"&gt; &lt;option value="&lt;bean:write property="descricao" name="descrica" /&gt;&quot;&gt; &lt;bean:write property="descricao" name="descrica" /&gt; &lt;/option&gt; &lt;/logic:iterate&gt; &lt;/select&gt; <a > &lt;bean:message key="label.link.salvar"/&gt; </a> &lt;/display:column&gt;

:idea: :idea: :idea:

coloca um if dentro do logic:iterate comparando o que ta no banco com o que ta sendo listado e se for o mesmo valor vc coloca o option como selected :smiley:

então to tentando fazer isso… mas nao ta dando certo nao…
devo ta fazendo algo de errado…

<display:column title="Descritivo de Manutenção:" width="350px" align="center" sortable="true"> <select id="descrica" name="descrica"> <option value=""></option> <logic:iterate id="descrica" name="descricaos" scope="session"> <c:if test="${descricao==descrica}"> <option value="<bean:write property="descricao" name="descrica" />" selected="selected"> <bean:write property="descricao" name="descrica" /> </option> </c:if> <c:if test="${descricao!=descrica}"> <option value="<bean:write property="descricao" name="descrica" />"> <bean:write property="descricao" name="descrica" /> </option> </c:if> </logic:iterate> </select> <a href="javascript:acao();"> <bean:message key="label.link.salvar"/> </a> </display:column>

no banco você grava o Id ou a descrição? Outra coisa, use o c:choose ao invés de 2 c:ifs +/- assim:

<display:column title="Descritivo de Manutenção:" width="350px" align="center" sortable="true"> <select id="descrica" name="descrica"> <option value=""></option> <logic:iterate id="descrica" name="descricaos" scope="session"> <c:choose> <c:when test="${descricao==descrica}"> <option value="<bean:write property="descricao" name="descrica" />" selected="selected"><bean:write property="descricao" name="descrica" /></option> </c:when> <c:otherwise> <option value="<bean:write property="descricao" name="descrica" />"><bean:write property="descricao" name="descrica" /></option> </c:otherwise> </c:choose> </logic:iterate> </select> <a href="javascript:acao();"> <bean:message key="label.link.salvar"/> </a> </display:column>

então to tentando fazer isso… mas nao ta dando certo nao…
devo ta fazendo algo de errado…

<display:column title="Descritivo de Manutenção:" width="350px" align="center" sortable="true"> <select id="descrica" name="descrica"> <option value=""></option> <logic:iterate id="descrica" name="descricaos" scope="session"> <c:if test="${descricao==descrica}"> <option value="<bean:write property="descricao" name="descrica" />" selected="selected"> <bean:write property="descricao" name="descrica" /> </option> </c:if> <c:if test="${descricao!=descrica}"> <option value="<bean:write property="descricao" name="descrica" />"> <bean:write property="descricao" name="descrica" /> </option> </c:if> </logic:iterate> </select> <a href="javascript:acao();"> <bean:message key="label.link.salvar"/> </a> </display:column>[/quote]

[quote=markin1]no banco você grava o Id ou a descrição? Outra coisa, use o c:choose ao invés de 2 c:ifs +/- assim:

<display:column title="Descritivo de Manutenção:" width="350px" align="center" sortable="true"> <select id="descrica" name="descrica"> <option value=""></option> <logic:iterate id="descrica" name="descricaos" scope="session"> <c:choose> <c:when test="${descricao==descrica}"> <option value="<bean:write property="descricao" name="descrica" />" selected="selected"><bean:write property="descricao" name="descrica" /></option> </c:when> <c:otherwise> <option value="<bean:write property="descricao" name="descrica" />"><bean:write property="descricao" name="descrica" /></option> </c:otherwise> </c:choose> </logic:iterate> </select> <a href="javascript:acao();"> <bean:message key="label.link.salvar"/> </a> </display:column>

No banco to gravando a descrição…
é q tive um problema com o acesso ao banco, ai por enquanto estou usando descriçao mesmo…
é mudei pra c:choose e não deu muito certo, não obtive sucesso…
vou ver aqui… mas vlw pelas dicas… :wink:

Conseguir fazer funcionar…rs

&lt;c:if test="${sessionScope.descr==descrica.descricao}"&gt; &lt;option value="&lt;bean:write property="descricao" name="descrica" /&gt;&quot; selected=&quot;selected&quot;&gt; &lt;bean:write property="descricao" name="descrica" /&gt; &lt;/option&gt; &lt;/c:if&gt;