1
resposta

Form com campos de multiplas classes

Olá, estou com um problema meio complicado e não estou achando solução. Eu tenho uma classe de cliente com atributos que tem tipos específicos. Por exemplo, a classe Cliente tem um atributo dados do tipo PessoaFisica, que por sua vez herda da classe Pessoa e tem um atributo endereco do tipo List.

No minha página de cadastro de cliente eu tenho campos para todos os atributos que eu desejo inserir . Eu não entendo como eu posso conseguir pegar todos esses campos no meu ClientesController e persistir cada um em sua tabela específica em somente 1 post.

Não sei se essa dúvida já foi solucionada aqui, mas estou há algum tempo já procurando essa solução e ainda não encontrei.

Se alguém puder me apontar na direção certa, ou indicar algum link onde eu posso aprender sobre isso, serei grato.

Segue abaixo o link para o gist dessas classes que mencionei e um print da página de cadastro.

https://gist.github.com/alexandremassaro/fe7f23097570ac0f660aedf6efa01670

https://imgur.com/abOF5lz

@RequestMapping(method=RequestMethod.POST)
    public ModelAndView salvar(Cliente cliente, RedirectAttributes redirectAttributes) {


        System.out.println(cliente);
        clienteDao.salvar(cliente);

        redirectAttributes.addFlashAttribute("sucesso", "Cliente cadastrado com sucesso!");

        return new ModelAndView("redirect:clientes");
    }
1 resposta

E se você colocasse todas essas classes numa interface e depois chamasse ela pra dar esse único post.

https://www.caelum.com.br/apostila-java-orientacao-objetos/interfaces/#aumentando-nosso-exemplo