1
resposta

Atribuindo Roles

Boa tarde galera, estou com dificuldade para atribuir role para o usuario.

Controller que chama JSP com checkboxes de roles:

@RequestMapping("/roles")
    public ModelAndView rolesAlterar(String email) {
        Usuario usuario = usuarioDAO.find(email);
        List<Role> roleList = roleDAO.roleList();

        ModelAndView modelAndView = new ModelAndView("usuario/roles");

        modelAndView.addObject("usuario", usuario);
        modelAndView.addObject("roles", roleList);
        return modelAndView;
    }

roles.jsp:

<div class="container">

        <h1>Cadastro de Permissoes para ${usuario.nome }</h1>

        <form:form action="${s:mvcUrl('UC#rolesUpdate').build() }" method="post" commandName="usuario" >
            <div class="form-group">
            Permissoes:
            <form:checkboxes items="${roles }" path="roles" itemLabel="nome"  />

            <br><br>
            <button type="submit">Atualizar</button>
        </div>
        </form:form>

    </div>

Obs.: As roles ja cadastradas no usuario consta como checked!!!

Controller rolesUpdate:

@RequestMapping(value = "/roles", method = RequestMethod.POST)
    public ModelAndView rolesUpdate(Usuario usuario,  RedirectAttributes redirectAttributes) {

        System.out.println(usuario);

        // chamara o DAO

        redirectAttributes.addFlashAttribute("massage", "Roles alterada com sucesso!");

        return new ModelAndView("redirect:/usuarios");
    }

Porem o objeto usuario recebido eh um novo objeto, com somente as roles selecionadas. toString - [email=null, senha=null, nome=null, senhaConfere=null, roles=[br.com.casadocodigo.loja.models.Role@1a920fdf, br.com.casadocodigo.loja.models.Role@204697df]]

Teria como retornar o mesmo objeto enviado para jsp, contendo as informacoes de roles adicionadas e assim podendo enviar para o DAO persistir?

1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software