Pelo que eu entendi, o meu problema é o mesmo presente aqui, no segundo post aqui e no final desse post aqui. TODOS sem solução.
Sempre que tento passar o usuario, o usuario.email ou o quer que seja do usuario para o form de edição, eu percebo que ele está null. Eu não consigo encontrar o porquê e já tentei de diversas maneiras diferentes, mas sempre passar pelo mesmo problema, não estou conseguindo recuperar os dados do usuário para poder passar para a tela onde farei a edição dos roles.
lista.jsp
<c:forEach items="${usuarios}" var="usuario">
<tr>
<td>${usuario.nome}</td>
<td>${usuario.email}</td>
<td>${usuario.roles}</td>
<td>
<form:form servletRelativeAction="${s:mvcUrl('UC#editarForm').arg(0, usuario.email).build()}"
method="POST" modelAttribute="email">
<input type="image" name="usuario" src="${resPath}/imagens/editar.png" alt="Editar" title="Editar" >
</form:form>
</td>
</tr>
</c:forEach>
UsuarioController.jsp
@RequestMapping("/roles/{email}")
public ModelAndView editarForm(@PathVariable("email") String email) {
ModelAndView mav = new ModelAndView("/usuarios/editar");
Usuario usuario = usuarioDao.loadUserByUsername(email);
mav.addObject("usuario", usuario);
List<Role> listaRoles = roleDao.listar();
mav.addObject("listaRoles", listaRoles);
return mav;
}
tentei de diversas maneiras, sendo que tentar replicar a forma como é feito com o detalhe (aplicado durante o curso de Spring) foi a última tentativa. Não adiantou, afinal, a informação não está sendo passada para o método editarForm. Do jeito que está aí, a exceção lançada foi:
javax.persistence.NoResultException: No entity found for query
mas recebi a mesma em outras tentativas também. Nesse momento, já havia retirado o meu sysout do email recebido por parâmetro do código, mas ele teria impresso no console null como nas outras vezes.
Alguém poderia me indicar o que estou deixando passar? Realmente não tenho ideia e google + stackoverflow não ajudaram dessa vez =/