[RESOLVIDO] Struts 1.3.8 - como preencher tag <html:select> com o valor do bean?

Boa noite, galera!

Estou desenvolvendo uma aplicação simples com o Struts 1.3.8 e Hibernate.
Ela basicamente cadastra Filmes, estilos, participantes e funções.

Na aplicação tenho uma classe Filme que representa os Filmes e outra chamada Estilo que representa os possíveis estilos.
Um dos atributos da classe Filme é um objeto da classe Estilo.

O cadastro e edição de um filme é feita por uma jsp conforme o modelo abaixo:

Para preencher a combo da JSP a minha classe FilmeAction tem um método que coloca uma lista de estilos na sessão (código abaixo) para que eu possa usá-los na combo.

public class FilmeAction extends FilmeBaseAction{ ...... private void atualizaListas(HttpServletRequest request) { ...... List<Estilo> estilos = estiloBO.listarEstilos(); request.getSession().setAttribute("listaDeEstilos", estilos); } ...... }

A parte de gravação está funcionando perfeitamente mas, a edição não funciona como esperado.

Ao editar eu gostaria que o valor selecionado na combo fosse o estilo do objeto “filme” da sessão e não o primeiro item da coleção “listaDeEstilos” que também está na sessão.

Minha jsp:

..... <html:form action="filme"> .............. Estilo:<html:select name="filme" property="estilo"><br> <html:options name="filme" collection="listaDeEstilos" property="descricao"/> </html:select><br> ................... </html:form> .......

Minha classe FilmeActionForm

[code]public class FilmeForm extends ActionForm{
private Long id;
private String nomePortugues;
private String nomeOriginal;
private Date dataAssistido;
private Long ano;
private Estilo estilo;
private Set participantes;
private String observacao;

//Acessores para o estilo
public String getEstilo() {
return estilo.getDescricao();
}

public void setEstilo(String descricaoEstilo) {
	EstiloBO estiloBO = new EstiloBO();
	EstiloVO estilo = estiloBO.buscarEstiloPorNome(descricaoEstilo);
	this.estilo = estilo;
}


}[/code]

Já procurei em vários lugares mas não encontrei a resposta, se alguém puder me ajudar, por favor me ajudem…

cara é um seguinte o codigo de um select é assim:

<html:select property="cdSituacaoImovel" style="width:170px" styleId="cdSituacaoImovel" styleClass="input" >                           
                           <html:option value=""></html:option>
                           <logic:present name="listaSituacaoImovel">
                               <html:options collection="listaSituacaoImovel" property="cdSituacaoImovel" labelProperty="nmSituacaoImovel"/>
                           </logic:present>
                       </html:select>  

sendo que o cdSituacaoImovel é o atributo do bean, o listaSituacaoImovel e o request.getAttribute que vem da action e la na action eu passo o bean nesse request.getAttribute

Achei a solução…

O problema era que eu não estava conseguindo usar a el na tag html:option.

Resolvi o problema alterando dois pontos da minha jsp:

[code]<%@ taglib uri=“http://struts.apache.org/tags-html” prefix=“html”%>
<%@ taglib uri=“http://struts.apache.org/tags-bean” prefix=“bean”%>
<%@ taglib uri=“http://struts.apache.org/tags-logic” prefix=“logic”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@page isELIgnored =“false” %> //Adicionei essa linha para ativar a el

............ Estilo:
//Adicionei esta tag para pegar o valor selecionado
[/code]

Valeu pela dica Diogo … vou tentar usá-la também…

Cara… Pode me explicar os atributos desta tag?