Possuo um metodo formulario ( com sua pagina jsp) que chama o form action=“salvar” (que tambem ja possui seu metodo no controller) ai na pagina formulario.jsp chamo a ação salvar, e funciona tudo direito.
ai criei uma lista de usuario que possui um botao editar ai quando clico ele me redireciona para a pagina editar.jsp e o form é a mesma ação action=“salvar” obs: no meu metodo salvar eu tanto salvo um usuario novo quanto atualizo, tem sua logica lá, enfim, o problema é que quando clico em salvar ele me retorna o seguinte:
“HTTP Status 404 - /rhunificado/usuario/editar/salvar”
sendo que uso essa mesma metodologia para o controlador produto e tbm nao funciona.
coloquei para debugar e quando chega na pagina editar.jsp e clico para enviar, ele nem se quer entra no metodo de salvar de usuario.
segue meu controlador e seus respectivos metodos de editar
@Get("/usuario/editar/{id}")
public Usuario editar(int id) {
extrairEmpresas(id);
this.result.include("empresasList", this.empresas.getEmpresas());
return this.userRep.load(id);
}
e meu metodo salvar:
public void salvar(Usuario usuario) {
Integer codigo = usuario.getCodigo();
if(codigo == null || codigo == 0) {
List<UsuarioCompany> companies = povoaUsuarioCompany(usuario);
usuario.setEmpresas(companies);
usuario.getPermissao().add("ROLE_USUARIO");
usuario.setAtivo(true);
this.userRep.save(usuario);
} else {
List<UsuarioCompany> companies = povoaUsuarioCompany(usuario);
usuario.setEmpresas(companies);
this.userRep.update(usuario);
}
result.redirectTo(this).listar();
}
segue meu formulario do editar.jsp
[code]
Editar Usuário
<input type="hidden" name="usuario.codigo" value="${usuario.codigo}" />
<div class="control-group">
<label for="nome"><fmt:message key="form.nome" /></label> <input id="nome" type="text"
placeholder="<fmt:message key="form.nome" />" name="usuario.nome" value="${usuario.nome}" />
</div>
<div class="control-group">
<label for="email"><fmt:message key="form.login" /></label> <input id="login" type="text"
placeholder="<fmt:message key="form.login" />" name="usuario.login" value="${usuario.login}" />
</div>
<div class="control-group">
<label for="senha"><fmt:message key="form.senha" /></label> <input id="senha"
placeholder="<fmt:message key="form.senha" />" type="password" name="usuario.senha" value="${usuario.senha}" disabled="disabled" />
</div>
<hr/>
<div class="input-append">
<input class="span2" id="codigoDaEmpresa" placeholder="Codigo da Empresa" type="text"/>
<button id="procurarEmpresa" class="btn" type="button"><i style="height: 18px;" class="icon-search"></i></button>
</div>
<div id="mostraEmpresa" class="cerca" style="background-color: #f5f5f5;">
<div id="infoEmpresa">
<label>Codigo:</label>
<label>Descrição:</label>
<label>Cnpj:</label>
</div>
<hr/>
<button id="addEmpresa" class="btn" type="button">Adicionar</button>
</div>
<table id="empresaList" class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>#</th>
<th>Descricao</th>
<th>Cnpj</th>
<th>Remover</th>
</tr>
</thead>
<tbody id="povoarEmpresa">
<c:forEach items="${empresasList}" var="empresa">
<tr>
<td>${empresa.codigo}</td>
<td>${empresa.descricao}</td>
<td>${empresa.cnpj}</td>
<td style="text-align:center;">
<a style="text-align:center;" class="deleteRow" href="#">
<img alt="Excluir Empresa" src="<c:url value="/resources/img/icons/lixeira.png"/>">
</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<br/>
<button type="submit" class="btn"><fmt:message key="form.botao.salvar" /></button>
</fieldset>
</form>[/code]