@Gabriellegal_Br escreveu:
Esta dando este erro no console.
Console
ago 15, 2016 9:04:19 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute ADVERTÊNCIA: /homeAluno.xhtml @24,58 actionListener="#{alunoBean.comprarCurso(curso)}": java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.util.Collection] javax.el.ELException: /homeAluno.xhtml @24,58 actionListener="#{alunoBean.comprarCurso(curso)}": java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.util.Collection] at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIData.broadcast(UIData.java:1108) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1419) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:44) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.util.Collection] at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:375) at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:348) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:375) at br.com.caelum.livraria.dao.UsuarioDao.cursoJaCadastrado(UsuarioDao.java:81) at br.com.caelum.livraria.bean.AlunoBean.comprarCurso(AlunoBean.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:247) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) ... 33 more ago 15, 2016 9:04:19 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError GRAVE: java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.util.Collection] at org.hibernate.ejb.AbstractQueryImpl.validateParameterBinding(AbstractQueryImpl.java:375) at org.hibernate.ejb.AbstractQueryImpl.registerParameterBinding(AbstractQueryImpl.java:348) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:375) at br.com.caelum.livraria.dao.UsuarioDao.cursoJaCadastrado(UsuarioDao.java:81) at br.com.caelum.livraria.bean.AlunoBean.comprarCurso(AlunoBean.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:247) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIData.broadcast(UIData.java:1108) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1110) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1419) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:44) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source)
homeAluno.xhtml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"> <ui:composition template="_templateProfessor.xhtml"> <ui:define name="titulo"> <p:outputPanel>Home Professor</p:outputPanel> </ui:define> <ui:define name="conteudo"> <p:carousel value="#{crudeCursoBean.cursos}" headerText="Cursos" var="curso" itemStyle="text-align:center" responsive="true"> <p:panelGrid columns="2" style="width:100%;margin:10px 0px" columnClasses="label,value" layout="grid" styleClass="ui-panelgrid-blank"> <p:commandButton value="Comprar" actionListener="#{alunoBean.comprarCurso(curso)}" /> <h:outputText value="Id:" /> <h:outputText value="#{curso.id}" /> <h:outputText value="Titulo:" /> <h:outputText value="#{curso.titulo}" /> <h:outputText value="Preço:" /> <h:outputText value="#{curso.valor}"> <f:convertNumber type="currency" pattern="R$ #0.00" currencySymbol="R$" locale="pt_BR" /> </h:outputText> <h:outputText value="Descrição" /> <h:outputText value="#{curso.descricao}" /> </p:panelGrid> <p:dataList id="listaCapitulos" value="#{homeProfessorBean.getListaCapitulo(curso)}" var="capitulo" type="ordered"> <f:facet name="header"> Capitulos </f:facet> #{capitulo} </p:dataList> </p:carousel> </ui:define> </ui:composition> </html>
AlunoBean.class
package br.com.caelum.livraria.bean; import java.util.ArrayList; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import br.com.caelum.livraria.dao.CursoDao; import br.com.caelum.livraria.dao.UsuarioDao; import br.com.caelum.livraria.modelo.Curso; import br.com.caelum.livraria.modelo.Usuario; @ManagedBean @ViewScoped public class AlunoBean { List<Curso> cursos = new ArrayList<Curso>(); public void comprarCurso(Curso curso) { FacesContext context = FacesContext.getCurrentInstance(); Usuario usuarioAtual = (Usuario) context.getExternalContext().getSessionMap().get("usuarioLogado"); boolean cadastrado = new UsuarioDao().cursoJaCadastrado(curso); if (cadastrado) { context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro!", "Aluno já possui Curso.")); } else { cursos.add(curso); usuarioAtual.setCursos(cursos); new UsuarioDao().adicionaCursoAoUsuario(usuarioAtual); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Parabéns!", "Compra Realizada.")); } } }
Mensagens: 2
Participantes: 2