Ta o eclipse ta acusando erro no meu jsp mais eu não sei o motivo...
Meu jsp é esse.
<%@pagecontentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><html><head><title>Cadastrodeconta</title><linkrel="stylesheet"type="text/css"href="../css/estilo.css"/></head><body><f:view><h:formid="frm"><h1><h:outputTextvalue="Cadastro de conta"/></h1><h:messageslayout="table"showSummary="true"showDetail="false"globalOnly="true"styleClass="msgErro"infoClass="msgInfo"style="font-weight: bold"/><h:panelGridcolumns="2"><h:outputLabelvalue="Código:"rendered="#{cadastroContaBean.contaEdicao.id!= null}"/><h:panelGrouprendered="#{cadastroContaBean.contaEdicao.id!= null}"><h:inputTextid="codigo"size="10"value="#{cadastroContaBean.contaEdicao.id}"label="Código da conta"disabled="true"/><h:messagefor="codigo"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Pessoa:"/><h:panelGroup><h:selectOneMenuid="pessoa"value="#{cadastroContaBean.contaEdicao.pessoas}"label="Pessoa"ERROAKIrequired="true"><f:selectItemsvalue="#{cadastroContaBean.pessoas}"/></h:selectOneMenu><h:messagefor="pessoa"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Tipo:"/><h:panelGroup><h:selectOneRadioid="tipo"value="#{cadastroContaBean.contaEdicao.tipo}"label="Tipo da conta"required="true"><f:selectItemsvalue="#{cadastroContaBean.tiposLancamentos}"/></h:selectOneRadio><h:messagefor="tipo"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Descrição:"/><h:panelGroup><h:inputTextid="descricao"size="40"maxlength="150"value="#{cadastroContaBean.contaEdicao.descricao}"required="true"label="Descrição"/><h:messagefor="descricao"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Valor:"/><h:panelGroup><h:inputTextid="valor"size="12"maxlength="10"value="#{cadastroContaBean.contaEdicao.valor}"required="true"label="Valor"><f:convertNumberminFractionDigits="2"/></h:inputText><h:messagefor="valor"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Data vencimento:"/><h:panelGroup><h:inputTextid="dataVencimento"size="12"maxlength="10"value="#{cadastroContaBean.contaEdicao.dataVencimento}"required="true"label="Data vencimento"><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dataVencimento"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:outputLabelvalue="Data baixa:"/><h:panelGroup><h:inputTextid="dataBaixa"size="12"maxlength="10"value="#{cadastroContaBean.contaEdicao.dataBaixa}"label="Data baixa"><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dataBaixa"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup><h:panelGroup/><h:panelGroup><h:commandButtonvalue="Salvar"actionListener="#{cadastroContaBean.salvar}"styleClass="botao"/><h:commandButtonvalue="Cancelar"action="menu"immediate="true"styleClass="botao"/></h:panelGroup></h:panelGrid></h:form></f:view></body></html>
Minha classe:
packagecom.algaworks.dwjsf.financeiro.visao;importjava.util.ArrayList;importjava.util.List;importjavax.faces.application.FacesMessage;importjavax.faces.context.FacesContext;importjavax.faces.event.ActionEvent;importjavax.faces.model.SelectItem;importcom.algaworks.dwjsf.financeiro.dominio.Conta;importcom.algaworks.dwjsf.financeiro.dominio.Pessoa;importcom.algaworks.dwjsf.financeiro.dominio.TipoConta;importcom.algaworks.dwjsf.financeiro.negocio.ContaService;importcom.algaworks.dwjsf.financeiro.negocio.PessoaService;importcom.algaworks.dwjsf.financeiro.negocio.RegraNegocioException;publicclassCadastroContaBean{privateContacontaEdicao;privateList<SelectItem>tiposContas;privateList<SelectItem>pessoas;publicStringinicializar(){this.contaEdicao=newConta();this.tiposContas=null;this.pessoas=null;return"cadastroConta";}publicvoidsalvar(ActionEventevent){FacesContextcontext=FacesContext.getCurrentInstance();try{newContaService().salvar(this.contaEdicao);this.contaEdicao=newConta();FacesMessagemsg=newFacesMessage("Conta salva com sucesso!");msg.setSeverity(FacesMessage.SEVERITY_INFO);context.addMessage(null,msg);}catch(RegraNegocioExceptione){context.addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(),e.getMessage()));}catch(Exceptione){e.printStackTrace();FacesMessagemsg=newFacesMessage("Erro inesperado ao salvar conta!");msg.setSeverity(FacesMessage.SEVERITY_ERROR);context.addMessage(null,msg);}}publicList<SelectItem>getPessoas(){if(this.pessoas==null){this.pessoas=newArrayList<SelectItem>();List<Pessoa>pessoas=newPessoaService().listarTodas();this.pessoas.add(newSelectItem(null,"Selecione"));for(Pessoapessoa:pessoas){this.pessoas.add(newSelectItem(pessoa,pessoa.getNome()));}}returnthis.pessoas;}publicList<SelectItem>getTiposLancamentos(){if(this.tiposContas==null){this.tiposContas=newArrayList<SelectItem>();for(TipoContatipo:TipoConta.values()){this.tiposContas.add(newSelectItem(tipo,tipo.toString()));}}returntiposContas;}publicContagetContaEdicao(){returncontaEdicao;}publicvoidsetContaEdicao(ContacontaEdicao){this.contaEdicao=contaEdicao;}}
Alguem sabe oq é o problema???
ps: o eclipse acusa erro na linha 32 do jsp
Execute em modo de debug, e veja onde o erro está sendo lançado.
X
xandi_m5
O erro é esse:
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! The element type "navigation-rule" must be terminated by the matching end-tag "</navigation-rule>".
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:214)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:200)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.xml.sax.SAXParseException: The element type "navigation-rule" must be terminated by the matching end-tag "</navigation-rule>".
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1749)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at com.sun.faces.config.ConfigManager$ParseTask.getDocument(ConfigManager.java:445)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:415)
at com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:372)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Ps: não sei usar bem o debug eu coloco o ponto na linha do erro?? Eu coloquei umas duas linhas depois…
X
xandi_m5
O erro que postei acima já ajeitei… Fui mexer no faces-config.xml e esquecendo de fecha </ >, mais ja ta ok
O erro agora é esse:
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.hibernate.cfg.AnnotationConfiguration.<clinit>(AnnotationConfiguration.java:56)
at com.algaworks.dwjsf.financeiro.util.HibernateUtil.<clinit>(HibernateUtil.java:11)
at com.algaworks.dwjsf.financeiro.negocio.PessoaService.listarTodas(PessoaService.java:24)
at com.algaworks.dwjsf.financeiro.visao.CadastroContaBean.getPessoas(CadastroContaBean.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
at javax.faces.component.UISelectItems.getValue(UISelectItems.java:141)
at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:283)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:783)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:280)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:864)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:244)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:106)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:840)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:236)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:180)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:127)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:840)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:840)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
J
jaziel.rc
Faltando jar do Apache Commons Logging. Da uma olhada nas libs do seu projeto.
X
xandi_m5
Eu coloquei todos os jars que tem na apotila ta tudo igual ate as versões, mais a apostila pode está com erro ( super comum…) sabe que é o nome desse jar???
X
xandi_m5
Eu coloque o commons-logging-1.1.1.jar
e o erro mudo agora é:
Class java.lang.Enum must be concrete (not abstract)
Pode ser por causa disso o problema?? Como resolvo??
ps: só vi isso agora... :/
Obg
H
Hebert_Coelho
Vc ta colocando qual enum no seu select one?
Pq lá não tinha nenhum.
J
jaziel.rc
Você precisa registrar a sua classe e o converter dela. No caso o que está registrado no seu faces é a classe java.lang.Enum (aqui deve ser sua classe pessoa) e a classe do converter, que deveria ser essa que vc postou, se estiver correta ( não parei para olhar seu código).
Novamente dou a dica de estudar direito o material, a impressão que dá é que você não leu ( ou entendeu ) como funciona o material e já está tentando implementar algo.
X
xandi_m5
jaziel.rc:
Você precisa registrar a sua classe e o converter dela. No caso o que está registrado no seu faces é a classe java.lang.Enum (aqui deve ser sua classe pessoa) e a classe do converter, que deveria ser essa que vc postou, se estiver correta ( não parei para olhar seu código).
Novamente dou a dica de estudar direito o material, a impressão que dá é que você não leu ( ou entendeu ) como funciona o material e já está tentando implementar algo.
Eu já tinha registrado a classe pessoas e seu converter, eu postei só a parte do erro... ;;
Eu li tudo, entendi umas coisas e e outras não...
To tentando fazer a atividade para mim tentar entender a base de problemas... Eu fiz boa parte sem olhar, mais deu erro tentei corrigir e nada. Ai copiei e colei e outro erro... que é esse que eu to mostrando...
Se sim. Enum não precisa de converter (se não me engano).
X
xandi_m5
jakefrog:
Vc está utilizando JSF 2.0?
Se sim. Enum não precisa de converter (se não me engano).
Estou sim!
E como eu faço?
Na apostila diz isso:
Toda enumeração herda implicitamente da classe Enum. Para deixar nosso
conversor genérico e pronto para qualquer enumeração que possa surgir no futuro em nosso
projeto, registramo-lo para o tipo genérico java.lang.Enum no arquivo “faces-config.xml”.
Faz o seguinte, apaga essa linha do xml, onde vc declara o converter e vai usando e veja c vai dar pau em algum selectOne que tenha um enum (não classe normal, apenas enum).
X
xandi_m5
Eu fiz isso, o selectOne (pessoa) continua com erro…
O erro tb é esse:
(Phase ID: RENDER_RESPONSE 6, View ID: /contas/cadastroConta.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@c1b161]
28/11/2011 16:00:40 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.hibernate.MappingException: Could not determine type for: com.algaworks.dwjsf.financeiro.dominio.Pessoa, at table: conta, for columns: [org.hibernate.mapping.Column(nome)]
H
Hebert_Coelho
Coloca aí apenas o código do seu select. Como está agora.
Veja que o erro agora mudou. Ele se refere ao hibernate, parece que o mapeamento não está definido corretamente. Poste o código das classes para ajudar.
X
xandi_m5
jaziel.rc:
Veja que o erro agora mudou. Ele se refere ao hibernate, parece que o mapeamento não está definido corretamente. Poste o código das classes para ajudar.
Classe Pessoa:
packagecom.algaworks.dwjsf.financeiro.dominio;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importjavax.persistence.Table;@Entity// diz que a classe é uma entidade@Table(name="pessoa")// especifica que a entidade representa uma tabela específica do banco de dados,// descrita na propriedade name.publicclassPessoa{privateLongid;privateStringnome;/* * Id e GeneratedValue são usadas para declarar o identificador do banco de * dados, e esse identificador deve ter um valor gerado no momento de * inserção (auto-incremento) */@Id@GeneratedValuepublicLonggetId(){returnid;}@Column(name="nome")publicStringgetNome(){returnnome;}@OverridepublicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((id==null)?0:id.hashCode());returnresult;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;Pessoaother=(Pessoa)obj;if(id==null){if(other.id!=null)returnfalse;}elseif(!id.equals(other.id))returnfalse;returntrue;}}
Classe Conta:
packagecom.algaworks.dwjsf.financeiro.dominio;importjava.math.BigDecimal;importjava.util.Date;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.EnumType;importjavax.persistence.Enumerated;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;importjavax.persistence.Table;importjavax.persistence.Temporal;importjavax.persistence.TemporalType;@Entity@Table(name="conta")publicclassConta{privateLongid;privatePessoanome;privateStringdescricao;privateBigDecimalvalor;privateTipoContatipo;privateDatedataVencimento;privateDatedataBaixa;@Id@GeneratedValuepublicLonggetId(){returnid;}@ManyToOne// indica a multiplicidade do relacionamento entre contas e pessoas e a// anotação@JoinColumn(name="pessoa_id")// indica que essa relação é conseguida através da coluna especificada na// propriedade namepublicvoidsetId(Longid){this.id=id;}publicPessoagetNome(){returnnome;}publicvoidsetNome(Pessoanome){this.nome=nome;}publicStringgetDescricao(){returndescricao;}publicvoidsetDescricao(Stringdescricao){this.descricao=descricao;}publicBigDecimalgetValor(){returnvalor;}publicvoidsetValor(BigDecimalvalor){this.valor=valor;}@Enumerated(EnumType.STRING)// foi mapeado com a anotação @Enumerated com EnumType.STRING. Isso é// necessário para que o Hibernate entenda que na coluna do banco de dados// será gravado o nome da constante da enumeração, e não o número que// representa cada opção.publicTipoContagetTipo(){returntipo;}publicvoidsetTipo(TipoContatipo){this.tipo=tipo;}@Column(name="data_vencimento")@Temporal(TemporalType.DATE)publicDategetDataVencimento(){returndataVencimento;}publicvoidsetDataVencimento(DatedataVencimento){this.dataVencimento=dataVencimento;}/* * foram mapeados com: * * @Column e @Temporal. A anotação @Temporal é útil para definir a precisão * de colunas de data/hora. No caso das duas datas que mapeamos, dizemos que * queremos armazenar apenas a data, e não data/hora. */@Column(name="data_baixa")@Temporal(TemporalType.DATE)publicDategetDataBaixa(){returndataBaixa;}publicvoidsetDataBaixa(DatedataBaixa){this.dataBaixa=dataBaixa;}@OverridepublicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((id==null)?0:id.hashCode());returnresult;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;Contaother=(Conta)obj;if(id==null){if(other.id!=null)returnfalse;}elseif(!id.equals(other.id))returnfalse;returntrue;}}
Se você olhar lah no post que eu te passei, ele mostra que não adianta apenas declarar o converter no web.xml e esquê-lo lá. Você tem que declará-lo aí como converterId=“qqq”.
J
jaziel.rc
O seu mapeamento entre conta e pessoa não está definido corretamente. O atributo nome na classe Conta é uma entidade, e precisa ser definida como (one-to-one, many-to-one ou many-to-many) com as anotações corretas. O Seu mapeamento de many-to-one entre conta e pessoas está no atributo id, por isso está errado, acredito que se colocando esse mapeamento no getNome irá corrigir esse erro.
X
xandi_m5
jakefrog:
xandi_m5:
Se eu postar o projeto no SkyDriver vcs podem da uma olhada??
Se você olhar lah no post que eu te passei, ele mostra que não adianta apenas declarar o converter no web.xml e esquê-lo lá. Você tem que declará-lo aí como converterId="qqq".
Eu já olhei minha classe CadastroContaBean e não achei erro... Vcs pode ajudar??
O erro da quando entra nos metodos inicializar() e getPessoas(). Mais não sei o que tem de errado...
packagecom.algaworks.dwjsf.financeiro.visao;importjava.util.ArrayList;importjava.util.List;importjavax.faces.application.FacesMessage;importjavax.faces.context.FacesContext;importjavax.faces.event.ActionEvent;importjavax.faces.model.SelectItem;importcom.algaworks.dwjsf.financeiro.dominio.Conta;importcom.algaworks.dwjsf.financeiro.dominio.Pessoa;importcom.algaworks.dwjsf.financeiro.dominio.TipoConta;importcom.algaworks.dwjsf.financeiro.negocio.ContaService;importcom.algaworks.dwjsf.financeiro.negocio.PessoaService;importcom.algaworks.dwjsf.financeiro.negocio.RegraNegocioException;publicclassCadastroContaBean{privateContacontaEdicao;privateList<SelectItem>tiposContas;privateList<SelectItem>pessoas;publicStringinicializar(){this.contaEdicao=newConta();this.tiposContas=null;this.pessoas=null;return"cadastroConta";}publicvoidsalvar(ActionEventevent){FacesContextcontext=FacesContext.getCurrentInstance();try{newContaService().salvar(this.contaEdicao);this.contaEdicao=newConta();FacesMessagemsg=newFacesMessage("Conta salva com sucesso!");msg.setSeverity(FacesMessage.SEVERITY_INFO);context.addMessage(null,msg);}catch(RegraNegocioExceptione){context.addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(),e.getMessage()));}catch(Exceptione){e.printStackTrace();FacesMessagemsg=newFacesMessage("Erro inesperado ao salvar conta!");msg.setSeverity(FacesMessage.SEVERITY_ERROR);context.addMessage(null,msg);}}publicList<SelectItem>getPessoas(){if(this.pessoas==null){this.pessoas=newArrayList<SelectItem>();List<Pessoa>pessoas=newPessoaService().listarTodas();this.pessoas.add(newSelectItem(null,"Selecione"));for(Pessoapessoa:pessoas){this.pessoas.add(newSelectItem(pessoa,pessoa.getNome()));}}returnthis.pessoas;}publicList<SelectItem>getTiposLancamentos(){if(this.tiposContas==null){this.tiposContas=newArrayList<SelectItem>();for(TipoContatipo:TipoConta.values()){this.tiposContas.add(newSelectItem(tipo,tipo.toString()));}}returntiposContas;}publicContagetContaEdicao(){returncontaEdicao;}publicvoidsetContaEdicao(ContacontaEdicao){this.contaEdicao=contaEdicao;}}
L
Leandro_Sena
Também estou com este último problema.
X
xandi_m5
Vc tb está estudando pela apostila da AlgaWorks???
L
Leandro_Sena
Vc tb está estudando pela apostila da AlgaWorks???
Estou sim cara.
A apostila é muito boa, porém pouca gente postou dúvidas a respeito dela… então fica difícil achar a solução de algumas coisas.
X
xandi_m5
Vc tb está estudando pela apostila da AlgaWorks???
Estou sim cara.
A apostila é muito boa, porém pouca gente postou dúvidas a respeito dela… então fica difícil achar a solução de algumas coisas.
…Foi a melhor apostila de JSF que eu ja vi…
Eu tenho a atividade de exemplo usada nas aulas da algaworks se vc quiser é só manda seu e-mail que eu ti envio… OK
ps: a atividade é a finalização da apostila talvez demore um pouco pra vc entender…
L
Leandro_Sena
Vc tb está estudando pela apostila da AlgaWorks???
Estou sim cara.
A apostila é muito boa, porém pouca gente postou dúvidas a respeito dela… então fica difícil achar a solução de algumas coisas.
…Foi a melhor apostila de JSF que eu ja vi…
Eu tenho a atividade de exemplo usada nas aulas da algaworks se vc quiser é só manda seu e-mail que eu ti envio… OK
ps: a atividade é a finalização da apostila talvez demore um pouco pra vc entender…
Também foi a melhor que eu achei.
Cara, quero sim. Pelo menos pra eu ver o que posso estar fazendo de errado quando der algo errado.
Meu email: [email removido]
Obrigado!
X
xandi_m5
Vc tb está estudando pela apostila da AlgaWorks???
Estou sim cara.
A apostila é muito boa, porém pouca gente postou dúvidas a respeito dela… então fica difícil achar a solução de algumas coisas.
…Foi a melhor apostila de JSF que eu ja vi…
Eu tenho a atividade de exemplo usada nas aulas da algaworks se vc quiser é só manda seu e-mail que eu ti envio… OK
ps: a atividade é a finalização da apostila talvez demore um pouco pra vc entender…
Também foi a melhor que eu achei.
Cara, quero sim. Pelo menos pra eu ver o que posso estar fazendo de errado quando der algo errado.
Meu email: [email removido]
Obrigado!
Ja mandei…
O
ozjunior
Eu tbm que fhoda
O
ozjunior
Alguem pode enviar para mim tbm, iria ajudar muito [email removido]
Obrigado
L
leandro2ki
Se alguém ainda tiver esse código… pode me enviar tbm? Estou com o mesmo problema e não consigo resolver…