Created
December 31, 2019 00:30
-
-
Save vinnom/e9df09a72e20a9528ad04555d44f6ce5 to your computer and use it in GitHub Desktop.
Não estou conseguindo passar os dados da View para o Controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> | |
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> | |
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> | |
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="security"%> | |
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> --> | |
<c:url value="/resources" var="resPath" /> | |
<c:url value="/usuarios/editar" var="editar"/> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
<c:url value="/resources/css" var="cssPath" /> | |
<link rel="stylesheet" href="${cssPath}/bootstrap.min.css" /> | |
<link rel="stylesheet" href="${cssPath}/bootstrap-theme.min.css" /> | |
<title>Livros de Java, Android, iPhone, Ruby, PHP e muito mais - Casa do Código</title> | |
</head> | |
<body> | |
<nav class="navbar navbar-inverse"> | |
<div class="container"> | |
<div class="navbar-header"> | |
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" | |
data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> | |
<span class="sr-only">Toggle navigation</span> | |
<span class="icon-bar"></span> | |
<span class="icon-bar"></span> | |
<span class="icon-bar"></span> | |
</button> | |
<a class="navbar-brand" href="${s:mvcUrl('HC#index').build()}">Casa do Código</a> | |
</div> | |
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> | |
<ul class="nav navbar-nav"> | |
<li class="nav-item"><a href="${s:mvcUrl('PC#listar').build()}">Lista de Produtos</a></li> | |
<li class="nav-item"><a href="${s:mvcUrl('PC#form').build()}">Cadastro de Produtos</a></li> | |
<li class="nav-item"><a href="${s:mvcUrl('UC#listar').build()}">Lista de Usuários</a></li> | |
<li class="nav-item"><a href="${s:mvcUrl('PSC#pedidos').build()}">Pedidos</a></li> | |
</ul> | |
<ul class="nav navbar-nav navbar-right"> | |
<li class="nav-item"><span><a href="<c:url value="/logout" />">Sair</a></span></li> | |
<li class="nav-item"> | |
<a href="#"><security:authentication property="principal" var="usuario" /> ${usuario.username} </a> | |
</li> | |
</ul> | |
</div> | |
<!-- /.navbar-collapse --> | |
</div> | |
</nav> | |
<div class="container"> | |
<h2><a href="${s:mvcUrl('UC#form').build()}">Novo Usuário</a></h2> | |
<h1>Usuários cadastrados:</h1> | |
<h3>${sucesso}</h3> | |
<table class="table table-bordered table-striped table-hover"> | |
<tr> | |
<th>Nome</th> | |
<th>Email</th> | |
<th>Roles</th> | |
</tr> | |
<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> | |
</table> | |
</div> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.casadocodigo.loja.controllers; | |
import java.util.List; | |
import javax.validation.Valid; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.stereotype.Controller; | |
import org.springframework.validation.BindingResult; | |
import org.springframework.web.bind.WebDataBinder; | |
import org.springframework.web.bind.annotation.*; | |
import org.springframework.web.servlet.ModelAndView; | |
import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
import br.com.casadocodigo.loja.dao.RoleDAO; | |
import br.com.casadocodigo.loja.dao.UsuarioDAO; | |
import br.com.casadocodigo.loja.models.Role; | |
import br.com.casadocodigo.loja.models.Usuario; | |
import br.com.casadocodigo.loja.validation.UsuarioValidation; | |
@Controller | |
@RequestMapping("/usuarios") | |
public class UsuarioController { | |
@Autowired | |
private UsuarioDAO usuarioDao; | |
@Autowired | |
private RoleDAO roleDao; | |
@Autowired | |
private UsuarioValidation validaUsuario; | |
@InitBinder | |
public void initBinder(WebDataBinder binder) { | |
binder.addValidators(validaUsuario); | |
} | |
@RequestMapping("/form") | |
public ModelAndView form(Usuario usuario) { | |
ModelAndView modelAndView = new ModelAndView("usuarios/form"); | |
return modelAndView; | |
} | |
@RequestMapping(method = RequestMethod.POST) | |
public ModelAndView gravar(@Valid Usuario usuario, BindingResult result, RedirectAttributes redirectAttributes) { | |
if (result.hasErrors()) { | |
return form(usuario); | |
} | |
usuarioDao.gravar(usuario); | |
String sucesso = "Usuário " + usuario.getNome() + " cadastrado com sucesso!"; | |
redirectAttributes.addFlashAttribute("sucesso", sucesso); | |
return new ModelAndView("redirect:/usuarios"); | |
} | |
@RequestMapping(method = RequestMethod.GET) | |
public ModelAndView listar() { | |
List<Usuario> usuarios = usuarioDao.listar(); | |
ModelAndView modelAndView = new ModelAndView("usuarios/lista"); | |
modelAndView.addObject("usuarios", usuarios); | |
return modelAndView; | |
} | |
@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; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment