[Ajuda] JSF - Target Unreachable. O bean não está sendo instanciado

1 resposta
InsaneChess

Prezados, boa tarde.
Após clickar no botão "Inserir Projeto" me deparo com o erro:
"javax.servlet.ServletException: /inserirProjeto.jsp(9,10) '#{proj.nome}' Target Unreachable, identifier 'proj' resolved to null javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)"

Alguem pode me ajudar?
Parece que o Bean não está sendo criado para poder armazenas as váriaveis...ele não deveria ser criado automaticamente pelo faces-config.xml?

Segue o código: faces-config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/webfacesconfig_1_2.xsd">

    <navigation-rule>
        <from-view-id>/inserirProjeto.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/gerenciarProjeto.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    
        <navigation-rule>
        <from-view-id>/editarProjeto.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/gerenciarProjeto.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    
    <managed-bean>
        <managed-bean-name>proj</managed-bean-name>
        <managed-bean-class>com.murah.model.Projeto</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
</faces-config>
web-xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


	<welcome-file-list>
		<welcome-file>/index.jsp</welcome-file>
	</welcome-file-list>

	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>client</param-value>
	</context-param>

	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<context-param>
		<param-name>com.sun.faces.validateXml</param-name>
		<param-value>true</param-value>
	</context-param>
	
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>
	

</web-app>

Inserir projeto.jsp:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<html>

  <body>
   <f:view>
   <h:form >
     Nome:<h:inputText id="nome" value="#{proj.nome}"/><br/>
     Gerente: <h:inputText id="gerente" value="#{proj.gerente}"/><br/>
     Contato: <h:inputText id="contato" value="#{proj.contato}"/><br/>
     Data de Entrega: <h:inputText id="data" value="#{proj.data}"/><br/>
     <h:commandButton value="Inserir Projeto" action="#{proj.teste}"/>
   </h:form>
   
   </f:view>
  </body>
</html>
e por fim o Bean:
package com.murah.model;

import java.util.Date;

public class Projeto {

	private String nome = null;
	private String gerente = null;
	private String contato = null;
	private Date data = null;
	private String dataString = null;
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getGerente() {
		return gerente;
	}

	public void setGerente(String gerente) {
		this.gerente = gerente;
	}

	public String getContato() {
		return contato;
	}

	public void setContato(String contato) {
		this.contato = contato;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public String getDataString() {
		return dataString;
	}

	public void setDataString(String dataString) {
		this.dataString = dataString;
	}

	public String teste(){
		return "success";
	}
}

Obrigado, pessoal.
Desculpem o incomodo,
Não estaria postando essa dúvida se não já tentasse fazer tudo que acho possível para mim =/

Por favor me ajudem,
Tudo que quero é clickar no botão e direcionar para uma pagina em branco...sem der erro no bean...

1 Resposta

murilo_scool

Olá InsaneChess,

bem, onde você esta dando “new” no seu bean??

você deve instanciá-lo

você pode usar o dentro da sua regra de navegação pra direcionar para uma página

Criado 25 de outubro de 2010
Ultima resposta 5 de jan. de 2011
Respostas 1
Participantes 2