Problema ao inserir dados em um banco utilizando JSF

3 respostas
EuclidesFilizola

Boa tarde, eu estou tentando inserir os dados de um form em um banco, porém da o seguinte erro:

16/09/2009 16:12:09 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SistemaControleDeViagem' did not find a matching property.
16/09/2009 16:12:09 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.16.
16/09/2009 16:12:09 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
16/09/2009 16:12:10 org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
16/09/2009 16:12:10 org.apache.coyote.ajp.AjpAprProtocol init
INFO: Initializing Coyote AJP/1.3 on ajp-8009
16/09/2009 16:12:10 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 659 ms
16/09/2009 16:12:10 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
16/09/2009 16:12:10 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
16/09/2009 16:12:10 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "com.sun.faces.config.ConfigureListener" is already configured for this context. The duplicate definition has been ignored.
16/09/2009 16:12:10 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra (1.2_13-b01-FCS) for context '/SistemaControleDeViagem'
16/09/2009 16:12:10 com.sun.faces.config.ConfigureListener contextInitialized
WARNING: JSF1059: WARNING!  The com.sun.faces.verifyObjects feature is to aid developers not using tools.  It shouldn''t be enabled if using an IDE, or if this application is being deployed for production as it will impact application start times.
16/09/2009 16:12:11 org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
16/09/2009 16:12:11 org.apache.coyote.ajp.AjpAprProtocol start
INFO: Starting Coyote AJP/1.3 on ajp-8009
16/09/2009 16:12:11 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1062 ms
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/galileo/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SistemaControleDeViagem/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/galileo/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SistemaControleDeViagem/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/apache-tomcat-6.0.20/lib/jsf-impl.jar!/META-INF/mojarra_ext.taglib.xml
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/galileo/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SistemaControleDeViagem/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/galileo/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SistemaControleDeViagem/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
16/09/2009 16:12:11 com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from: jar:file:/C:/galileo/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SistemaControleDeViagem/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
16/09/2009 16:12:13 com.sun.faces.lifecycle.ProcessValidationsPhase execute
WARNING: /pages/cadSolicitacao.xhtml @14,57 value="#{solicitacaoMB.viagem.idViagem}": Target Unreachable, 'viagem' returned null
javax.el.PropertyNotFoundException: /pages/cadSolicitacao.xhtml @14,57 value="#{solicitacaoMB.viagem.idViagem}": Target Unreachable, 'viagem' returned null
	at com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:942)
	at javax.faces.component.UIInput.validate(UIInput.java:868)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1072)
	at javax.faces.component.UIInput.processValidators(UIInput.java:672)
	at javax.faces.component.UIForm.processValidators(UIForm.java:234)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:700)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
	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:128)
	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:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
	at java.lang.Thread.run(Unknown Source)
16/09/2009 16:12:13 com.sun.faces.lifecycle.Phase doPhase
SEVERE: JSF1054: (Phase ID: PROCESS_VALIDATIONS 3, View ID: /pages/cadSolicitacao.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@1dfc8a0]
16/09/2009 16:12:13 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.el.PropertyNotFoundException: /pages/cadSolicitacao.xhtml @14,57 value="#{solicitacaoMB.viagem.idViagem}": Target Unreachable, 'viagem' returned null
	at com.sun.facelets.el.TagValueExpression.getType(TagValueExpression.java:62)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:92)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:942)
	at javax.faces.component.UIInput.validate(UIInput.java:868)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1072)
	at javax.faces.component.UIInput.processValidators(UIInput.java:672)
	at javax.faces.component.UIForm.processValidators(UIForm.java:234)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1058)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:700)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
	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:128)
	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:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
	at java.lang.Thread.run(Unknown Source)

aqui está minha pag. de cadastro:

<!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://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">
<head></head>
<body>
<f:view>
	<h:form>
		<h:messages />
		<h:outputText value="Solicitacao" />
		<br />
		<br />
		<h:inputText value="#{solicitacaoMB.viagem.idViagem}">
			<!--<f:convertNumber type="number" />
		-->
		</h:inputText>
		<br />
		<br />
		<!--
			<h:outputText value="Nome da pessoa:   " />
			<h:outputTex value="#{solicitacaoMB.usuario.nome}" />
		-->
		<br />
		<br />
		<h:outputLabel value="Cidade" for="cidade" />
		<h:inputText id="cidade" value="#{solicitacaoMB.viagem.nomeDaCidade}" />

		<br />
		<br />
		<h:outputLabel value="Periodo" for="periodoinicial" />
		<h:inputText id="periodoinicial"
			value="#{solicitacaoMB.viagem.dataInicial}">
			<f:convertDateTime type="date" pattern="yyyy/MM/dd" />
		</h:inputText>
		<h:outputText value=" a " />
		<h:inputText id="periodofinal"
			value="#{solicitacaoMB.viagem.dataFinal}">
			<f:convertDateTime type="date" pattern="yyyy/MM/dd" />
		</h:inputText>
		<br />
		<br />
		<h:selectBooleanCheckbox
			value="#{solicitacaoMB.viagem.validaAjudaDeCusto}" />Ajuda de custo
<br />
		<br />
		<h:outputLabel value="Valor da Ajuda de Custo:"
			for="valordaajudadecusto" />
		<h:inputText id="valordaajudadecusto"
			value="#{solicitacaoMB.viagem.valorAjudaDeCusto}" />
		<br />
		<br />
		<h:selectBooleanCheckbox id="diaria"
			value="#{solicitacaoMB.viagem.validaDiaria}" />Diaria
<br />
		<br />
		<h:outputLabel value="Valor da Diaria:" for="valordadiaria" />
		<h:inputText id="valordadiaria"
			value="#{solicitacaoMB.viagem.valorDaDiaria}" />
		<br />
		<br />
		<h:outputLabel value="Passagem" />
		<h:selectBooleanCheckbox
			value="#{solicitacaoMB.viagem.validaPassagem}" />
		<br />
		<br />
		<h:outputLabel value="Valor da passagem:" for="valordapassagem" />
		<h:inputText id="valordapassagem"
			value="#{solicitacaoMB.viagem.valorDaPassagem}" />
		<h:selectBooleanCheckbox
			value="#{solicitacaoMB.viagem.validaViagemColetiva}" />Coletiva
<br />
		<br />
		<h:outputLabel value="Justificativa" for="objetivo" />
		<br />
		<h:inputTextarea id="objetivo"
			value="#{solicitacaoMB.viagem.objetivo}" />
		<!--
			<h:selectBooleanCheckbox value="" />Dentro do Estado
-->
		<br />
		<br />
		<h:commandButton action="#{solicitacaoMB.inserirViagem}"
			value="Enviar Solicitacao" />
	</h:form>
</f:view>
</body>
</html>

e aqui está meu faces:

public class SolicitacaoMB {
	private SolicitacaoDAO solicitacaoDAO = new SolicitacaoDAO();
	private Solicitacao solicitacao;
	private Usuario usuario;
	private UsuarioDAO usuarioDAO = new UsuarioDAO();
	private Viagem viagem;
	private ViagemDAO viagemDAO = new ViagemDAO();
	

	private static final long serialVersionUID = 1L;

	public SolicitacaoMB() {
	
	}
	public String iniciarFaces(){
		 viagem = new Viagem();		
		
		return "Solicitacao";
	}
	public String inserirViagem(){
		
		viagemDAO.inserirViagem(viagem);
	//	viagem = null;
		return "sucesso";
	}
	
	public Solicitacao getSolicitacao() {
		return solicitacao;
	}

	public void setSolicitacao(Solicitacao solicitacao) {
		this.solicitacao = solicitacao;
	}


	public void setSolicitacaoDAO(SolicitacaoDAO solicitacaoDAO) {
		this.solicitacaoDAO = solicitacaoDAO;
	}
	public SolicitacaoDAO getSolicitacaoDAO() {
		return solicitacaoDAO;
	}
	public Viagem getViagem() {
		return viagem;
	}
	public void setViagem(Viagem viagem) {
		this.viagem = viagem;
	}
	public ViagemDAO getViagemDAO() {
		return viagemDAO;
	}
	public void setViagemDAO(ViagemDAO viagemDAO) {
		this.viagemDAO = viagemDAO;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public Usuario getUsuario() {
		return usuario;
	}	
	
	public String inserirSolicitacaoCompleta() {
		viagemDAO.inserirViagem(viagem);
		 solicitacao.setViagem(viagem);
		solicitacaoDAO.inserirDados(solicitacao);

		return "sucesso";
	}
	public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}
	public UsuarioDAO getUsuarioDAO() {
		return usuarioDAO;
	}

Alguem saberia me dizer porque?

3 Respostas

Thiago_Peter

Não percebi a inicialização do objeto viagem no seu código.

wandersonxs

Inicie o objeto viagem.

private Viagem viagem = new Viagem();

Ve ai e qq coisa dá um alÔ. :lol:

Abraços
Wanderson

EuclidesFilizola

aqui a instancia

public String iniciarFaces(){  
         viagem = new Viagem();

… Mas já consegui resolver

era só problema de mapeamento na entidade.

Obrigado !

Criado 16 de setembro de 2009
Ultima resposta 17 de set. de 2009
Respostas 3
Participantes 3