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…