Dúvida com jstl

pessoal tenho o seguinte senario: criei um formulario com um com todos os estados brasileiros. para nao precisar criar uma tabela.

 <select id="estado">
                    <option value="">Selecione o Estado</option>
                    <option value="1">ACRE</option>
                    <option value="2">ALAGOAS</option>
                    <option value="3">AMAPÁ</option>
                    <option value="4">AMAZONAS</option>

o value fica gravado na tabela municipio.

porem na hora de recuperar o dado do municipio vem com por ex… ESTADO : ${municipio.idEstado} que resulta em ESTADO: 1

tem como eu fazer um if talves com jstl

tipo:

if ${municipio.idEstado} = 1

value = “ACRE”

tem um exemplo? pois estou me lascando todo para fazer e nao sai nada…

vlw

Já tentou isso?

    <select id="estado">  
                       <option value="">Selecione o Estado</option>  
                       <option value="ACRE">ACRE</option>  
                       <option value="ALAGOAS">ALAGOAS</option>  
                       <option value="AMAPA">AMAPÁ</option>  
                       <option value="AMAZONAS">AMAZONAS</option>  

assim quando vc recuperar o estado ele vai ser o value…

assim nao serve, pois no evendo do select ele faz uma consulta atravez do ID para selecionar o municipio…

O que você precisa é criar uma lista na sua consulta e depois fazer um for para ler essa lista.

        &lt;select id="estados" name="estados"&gt;
            &lt;option value=""&gt;...Select...&lt;/option&gt;
            &lt;c:forEach var="list" items="${service.getEstados}"&gt;
                &lt;option value="${list.idEstado}"&gt;${list.descricao}&lt;/option&gt;
            &lt;/c:forEach&gt;
        &lt;/select&gt;

romarcio vc nao entendeu… ja tenho essa lista porem Os estados nao vem do BD. é um select comum no html. so que quando eu salvo ele envia o value para o db municipios que no caso é o id… so que na hora de recuperar a informacao eu nao tenho o nome do estado no banco apenas o id…

gostatia de saber se tem como fazer com jstl um if para mostrar a uf correspondente ao id dela.

Trate isso na servlet que recebe o item selecionado.
Lógica não deve ser colocada na camada view.

Bom. Acredito que você tenha seus motivos para não querer colocar em uma tabela, mas ainda acho que seria a melhor opção.
Esse select é enorme e você, provavelmente, vai precisar usar esse combo em outros lugares.
De qualquer forma, sem ser no banco, você vai precisar tratar o valor, então, como nosso colega drsmachado disse, se precisar de alguma lógica, trate na camada correspondente.

Se estiver usando java > 1.4, crie um enum, aí, quando receber o valor “1”, busque no enum o correspondente (“Acre”).
Senão, crie uma classe de constantes ou uma simples tabela.
jstl é para deixar o código mais ágil e elegante, não para gambiarras ou métodos “lazy”…

Tinha entendido errado mesmo.

Para fazer algo tipo IF e ELSE com JSTL, você pode fazer assim:

&lt;c:choose&gt;
   &lt;c:when test="${municipio.idEstado}==1}"&gt;ACRE&lt;/c:when&gt;
   &lt;c:when test="${municipio.idEstado}==2}"&gt;AMAPA&lt;/c:when&gt;
   &lt;c:otherwise&gt;Estado não existe&lt;/c:otherwise&gt;
&lt;/c:choose&gt;