Olá pessoal, eu to com um problema no meu sistema, eis o drama.
Eu já fiz a injeção de dependência do sessionFactory
mapeei as classes
mas qnd chega no jsp eu não consigo passar o objeto e uma lista de objetos via jsp
<%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><formaction="cadastrar.do">
Nome: <inputtype="text"name="nome"/><br/>
Sobrenome: <inputtype="text"name="sobrenome"/><br/>
Login: <inputtype="text"name="login"/><br/>
Senha: <inputtype="password"name="senha"/><br/><!-- Data de Nascimento: <input type="text" name="dataNascimento" /><br/> -->
[b]Perfil: <selectname="perfil"><c:forEachitems="${lista}"var ="perfil"><optionvalue="${perfil.id}">${perfil.nome}</option></c:forEach></select><br/>[/b]
<inputtype="submit"value="gravar"></form></body></html>
fazendo isso e cadastrando dá esse erro
typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionorg.springframework.web.util.NestedServletException:Requestprocessingfailed;nestedexceptionisorg.springframework.validation.BindException:org.springframework.validation.BeanPropertyBindingResult:1errorsFielderrorinobject'usuario'onfield'perfil':rejectedvalue[1];codes[methodInvocation.usuario.perfil,methodInvocation.perfil,methodInvocation.java.lang.Long,methodInvocation];arguments[org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuario.perfil,perfil];arguments[];defaultmessage[perfil]];defaultmessage[Property 'perfil' threw exception; nested exception is java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from Long to Perfil]org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)javax.servlet.http.HttpServlet.service(HttpServlet.java:621)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rootcauseorg.springframework.validation.BindException:org.springframework.validation.BeanPropertyBindingResult:1errorsFielderrorinobject'usuario'onfield'perfil':rejectedvalue[1];codes[methodInvocation.usuario.perfil,methodInvocation.perfil,methodInvocation.java.lang.Long,methodInvocation];arguments[org.springframework.context.support.DefaultMessageSourceResolvable: codes [usuario.perfil,perfil];arguments[];defaultmessage[perfil]];defaultmessage[Property 'perfil' threw exception; nested exception is java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from Long to Perfil]org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:810)org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359)org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)javax.servlet.http.HttpServlet.service(HttpServlet.java:621)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
eu to fazendo do jeito errado ??
Desde já agradeço
jaboot
Tenta utilizando o ModelMap. Ficaria mais ou menos assim:
@RequestMapping("/Usuario/cadastro")
public String cadastro(ModelMap map, Model model){
List<Perfil> lista = pService.listar();
map.addAttribute("lista", lista);
return "usuario/cadastro";
}
PS: tá usando tiles?