2
respostas

Dúvida com Converter

Bom Dia ! Durante o curso por iniciativa própria criei uma Classe chamada Autor para fazer relacionamento com o Livro.

@Entity
public class Autor {

    @Id
    @GeneratedValue
    private int id;

    private String nome;
    private String descricao;

Getters e Setters omitidos.

Na clase Produto eu referenciei ela da seguinte forma.

@ManyToMany
    private List<Autor> autores;

Eu criei um formulário para cadastro de Autor e funcionou perfeitamente. Porém quando vou criar um novo Produto (Livro) e tenho que amarrar vários autores, estou tendo problemas. O meu problema é que o Spring não está conseguindo converter o Autor selecionado no formulário para um objeto desse tipo.

Qual a melhor abordagem para se trabalhar com essa conversão? No método mvcConversionService? Ou através do initBinder, passando o Conversor através do WebDataBinder?

2 respostas

Boa tarde Sayd, como seu formulario está enviando os autores para o controller?

Inicialmente eu fiz da seguinte forma:

<form:select path="autores" items="${autores}" itemLabel="nome" itemValue="id" multiple="true"/>

Não funcionou como esperado, aí troquei por:

<select name="autores" multiple="multiple">
    <c:forEach items="${autores}" var="autor">
        <option value="${autor.id}"> ${autor.nome}/option>
    </c:forEach>
</select>