Manage bean do JSF

21 respostas
B

Olá pessoal,

Bom estou brincando um pouco com JSF estou seguindo uma apostila que achei aqui mesmo no site da GUJ.

Mas acho que estou tendo algum problema no meu manage-bean meu erro é o seguinte:

16/01/2008 13:21:01 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet Faces Servlet threw exception org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) '#{agenda.nome}' Target Unreachable, identifier 'agenda' resolved to null at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81) at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934) at javax.faces.component.UIInput.validate(UIInput.java:860) at javax.faces.component.UIInput.executeValidate(UIInput.java:1065) at javax.faces.component.UIInput.processValidators(UIInput.java:666) at javax.faces.component.UIForm.processValidators(UIForm.java:229) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662) at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:57) at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:319) at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56) at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173) at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:333) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 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:175) 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:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
Meu web.xml é o seguinte:
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Meindica WebPortal</display-name>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <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>
  
  <context-param>
  	<param-name>javax.faces.CONFIG FILES</param-name>
  	<param-value>/WEB-INF/faces-config.xml</param-value>
  </context-param>
  
  <listener>
  	<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>
  
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  
</web-app>
E o meu faces-config.xml é o seguinte:
<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    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/web-facesconfig_1_2.xsd"
    version="1.2">

	<navigation-rule>
		<from-view-id>/buscar.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_busca.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_busca.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	<navigation-rule>
		<from-view-id>/inserir.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_insercao.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_insercao.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	<managed-bean>
		<managed-bean-name>agenda</managed-bean-name>
		<managed-bean-class>br.com.meindica.beans.AgendaDB</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	
</faces-config>

O que poderia estar acontecendo?

Obrigado

21 Respostas

L

na tua classe AgendaDB existe a propriedade nome? se sim, existe os métodos get/set?

B

Então minha classe tem sim … Depois de mexer bastante o erro agora é outro … me parece minha propriedade managed-bean não está pegando …

Agora a minha pilha de erros é a seguinte:

<blockquote>17/01/2008 08:51:38 org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet Faces Servlet threw exception

org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) ‘#{agenda.nome}’ Target Unreachable, identifier ‘agenda’ resolved to null

at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)

at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81)

at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)

at javax.faces.component.UIInput.validate(UIInput.java:860)

at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)

at javax.faces.component.UIInput.processValidators(UIInput.java:666)

at javax.faces.component.UIForm.processValidators(UIForm.java:229)

at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033)

at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)

at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:57)

at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:319)

at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)

at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)

at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:333)

at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)

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:175)

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:263)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)

</blockquote>

Como eu poderia resolver isso?

Obrigado

R

o nome do metodo é “getNome()” ??

Att,

Renan

B

Tem sim cara ..... Minha classe AgendaDB é a seguinte:

package br.com.meindica.beans;

import java.sql.*;

public class AgendaDB {
	private String nome = blank;
	private String endereco = blank;
	private String cidade = blank;
	private String telefone = blank;
	private String result_busca = blank;
	private String result_inserir = blank;
	public static final String BUSCA_INVALIDA = "failure";
	public static final String BUSCA_VALIDA = "success";
	public static final String SUCESSO_INSERCAO = "success";
	public static final String FALHA_INSERCAO = "failure";
	static Connection con = null;
	static Statement stm = null;
	static ResultSet rs;
	static private String blank = "";
	
	public AgendaDB() {
		if (con==null) {
			try {
				Class.forName("com.mysql.jdbc.Driver");
				con =
				DriverManager.getConnection("jdbc:mysql//127.0.0.1:3306/jsf","root","123456");
			} catch (SQLException e) {
				System.err.println ("Erro: "+e);
				con = null;
			} catch (ClassNotFoundException e) {
				System.out.println("ClassNotFound...");
				e.printStackTrace();
			}
		}
	}
	
	public String cadastrar() {
		String result_inserir = FALHA_INSERCAO;
		try {
			stm = con.createStatement();
			stm.execute("INSERT INTO pessoa(nome,endereco,cidade,telefone) VALUES ('" + nome + "','"+
			endereco + "','" + cidade + "','"+ telefone + "')");
			stm.close();
			result_inserir = SUCESSO_INSERCAO;
		} catch (SQLException e) {
			System.err.println ("Erro: "+e);
			result_inserir = FALHA_INSERCAO;
		}
		return result_inserir;
	}
	
	public String buscar() throws SQLException {
		String result_busca = BUSCA_INVALIDA;
		try {
			stm = con.createStatement();
			rs = stm.executeQuery("SELECT * FROM pessoa WHERE nome = '" + nome + "'");
		if (rs.next()) {
			nome = rs.getString(1);
			endereco = rs.getString(2);
			cidade = rs.getString(3);
			telefone = rs.getString(4);
			result_busca = BUSCA_VALIDA;
		}
		else
			result_busca = BUSCA_INVALIDA;
			rs.close();
			stm.close();
		} catch (SQLException e) {
			System.err.println ("Erro: "+e);
		}
		return result_busca;
	}
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public String getCidade() {
		return cidade;
	}
		
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	
	public String getEndereco() {
		return endereco;
	}
	
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
		
	public String getTelefone() {
		return telefone;
	}
		
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
}

Alguém tem alguma ideia do que possa estar acontecendo?

R

Cara, se possivel coloque as linhas do .jsp correspondentes ao erro.

Att,

Renan

L

este erro e no EL do framework.

org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) ‘#{agenda.nome}’ Target Unreachable, identifier ‘agenda’ resolved to null

verifique seu codigo .JSP correspondente, ou verifique se nos teus frameworks não tem algum jar rompendo o outro, algum tipo EL.

me lembro vagamente um projeto que fiz, utilizava jsf1.1 e richfaces aee tinha um jar que não me lembro o nome acho que era api-el.jar eu tirei ele e td deu certo e era um erro parecido, dava isso pq não aceitava null, mas primeiro verfique o teu jsp, se estiver td ok, tente isto que te falei.
aee poste ai pra nos oque aconteceu

t+

M

Cara,

pelo erro parece que ele está buscando a propriedade nome e está retornando null.
Faça um teste, inicie a variável nome com algum valor. Ex:

private String nome = "teste";

Posta aí o resultado.

L

Dá a impressão que o identificador ‘agenda’ não é encontrado. Eu chuto duas coisas:

  1. A aplicação não encontrou a classe AgendaDB (ou o resultado da compilação está errado, inexistente ou em outro lugar).

  2. A aplicação não encontrou o arquivo faces-config.xml (mas é menos provável).

F

Eai…

Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null

Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…

Vê aí…

[]s
Ferry

G

Sem querer ser palpitador…mas quando comecei a usar JSF para uma possível implementação aqui no trampo…tomava uns erros desses também…sem lógica alguma.

Aí mudava algumas coisas instalava alguns plugins ou até mesmo mudava de IDE e funcionava…mas depois dava outros erros sem explicação…sinceramente pra mim JSF ainda é furada…

A melhor IDE para desenvolver acho q foi o RedHatDeveloper Studio…mas agora não se pode mais fazer download…quem pegou a beta ainda pode usar quem não tem dançou…

R

Ferryman:
Eai…

Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null

Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…

Vê aí…

[]s
Ferry

tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.

O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.

Parece ser nullPointerExc mesmo.

Att,

Renan

B

renan_:
Ferryman:
Eai…

Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null

Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…

Vê aí…

[]s
Ferry

tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.

O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.

Parece ser nullPointerExc mesmo.

Att,

Renan

Olá renan_ gostaria de um exemplo sim cara … estou um pouco perdido …

Obrigado

B

Olá pessoal ....

O nullPointerExec .... era do meu JDBC ..... Então isso eu consegui resolver ....

Mas estou com um problema no meu meu XML é o seguinte:
<faces-config>
	
	<navigation-rule>
		<from-view-id>/buscar.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_busca.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_busca.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
	<navigation-rule>
		<from-view-id>/inserir.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/sucesso_insercao.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>failure</from-outcome>
			<to-view-id>/falha_insercao.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	
</faces-config>

Mas o que acontece .... quando termino um cadastro por exemplo ele não envia para a página sucesso_insercao.jsp ele cadastra no banco mas não faz um redirect para a página que configurei no navigation-case ...

Alguém tem alguma ideia do q possa ser?

M

Posta o seu bean que faz a inserção.

B

Olá então eu já tinha postado anteriormente …

T

renan_:
Ferryman:
Eai…

Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null

Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…

Vê aí…

[]s
Ferry

tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.

O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.

Parece ser nullPointerExc mesmo.

Att,

Renan

O que vc quer dizer com isso??? Instanciar na mão um MBean??? Se for é loucura!!!

F

Opa,

Não é instanciar o MBean na mão não. Disse pra instanciar os Objetos do managedBean no Construtor.

[]s
Ferry

A

Estou com o mesmo problema, este é a minha AgendaDB.java e o erro é igual ao do nosso companheiro…o que eu faço??

package AgendaDB;

import java.sql.*;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.lang.Class;

import javax.swing.JOptionPane;

public class AgendaDB {
private String nome=blank;  
private AgendaDB nome_cliente=new AgendaDB();
private String endereco=blank;
private String cidade=blank;
private String telefone=blank;

private String result_busca = blank;
private String result_inserir = blank;

public static final String BUSCA_INVALIDA = "failure";
public static final String BUSCA_VALIDA = "sucess";
public static final String SUCESSO_INSERCAO = "sucess";
public static final String FALHA_INSERCAO = "failure";



static PreparedStatement stmt=null;
static Connection con=null;
static ResultSet rs;
private static String blank = "";
public AgendaDB() {}

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

public String getNome() {
    return nome;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

public String getEndereco() {
    return endereco;
}

public void setCidade(String cidade) {
    this.cidade = cidade;
}

public String getCidade() {
    return cidade;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getTelefone() {
    return telefone;
}

public String inserir() {
    String result_inserir = FALHA_INSERCAO;
    try {
    stmt = DBCon.getConnection().prepareStatement("INSERT INTO pessoa(nome,endereco,cidade,telefone) VALUES('" + 
              nome + "','" + endereco + "','" + cidade + "','" + telefone + 
              "')");
    stmt.close();
        result_inserir = SUCESSO_INSERCAO;
    } catch (SQLException e) {
        System.err.println("Erro:" + e);
        result_inserir = FALHA_INSERCAO;
    }
    return result_inserir;
}
public String buscar() throws SQLException {
    String result_busca = BUSCA_INVALIDA;
    try {
        rs = stmt.executeQuery("SELECT * FROM pessoa WHERE nome= '" + nome + "'");
        if (rs.next()){
            nome=rs.getString(1);
            endereco = rs.getString(2);
            cidade = rs.getString(3);
            telefone = rs.getString(4);
            result_busca = BUSCA_VALIDA;
        } else
            result_busca = BUSCA_INVALIDA;
        rs.close();
        stmt.close();
       
    } catch (SQLException e) {
        System.err.println("Erro:" + e);
    }
    return result_busca;
}

}

A

aisne:
Estou com o mesmo problema, este é a minha AgendaDB.java e o erro é igual ao do nosso companheiro…o que eu faço??

package AgendaDB;

import java.sql.*;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.lang.Class;

import javax.swing.JOptionPane;

public class AgendaDB {
private String nome=blank;  
private AgendaDB nome_cliente=new AgendaDB();
private String endereco=blank;
private String cidade=blank;
private String telefone=blank;

private String result_busca = blank;
private String result_inserir = blank;

public static final String BUSCA_INVALIDA = "failure";
public static final String BUSCA_VALIDA = "sucess";
public static final String SUCESSO_INSERCAO = "sucess";
public static final String FALHA_INSERCAO = "failure";



static PreparedStatement stmt=null;
static Connection con=null;
static ResultSet rs;
private static String blank = "";
public AgendaDB() {}

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

public String getNome() {
    return nome;
}

public void setEndereco(String endereco) {
    this.endereco = endereco;
}

public String getEndereco() {
    return endereco;
}

public void setCidade(String cidade) {
    this.cidade = cidade;
}

public String getCidade() {
    return cidade;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getTelefone() {
    return telefone;
}

public String inserir() {
    String result_inserir = FALHA_INSERCAO;
    try {
    stmt = DBCon.getConnection().prepareStatement("INSERT INTO pessoa(nome,endereco,cidade,telefone) VALUES('" + 
              nome + "','" + endereco + "','" + cidade + "','" + telefone + 
              "')");
    stmt.close();
        result_inserir = SUCESSO_INSERCAO;
    } catch (SQLException e) {
        System.err.println("Erro:" + e);
        result_inserir = FALHA_INSERCAO;
    }
    return result_inserir;
}
public String buscar() throws SQLException {
    String result_busca = BUSCA_INVALIDA;
    try {
        rs = stmt.executeQuery("SELECT * FROM pessoa WHERE nome= '" + nome + "'");
        if (rs.next()){
            nome=rs.getString(1);
            endereco = rs.getString(2);
            cidade = rs.getString(3);
            telefone = rs.getString(4);
            result_busca = BUSCA_VALIDA;
        } else
            result_busca = BUSCA_INVALIDA;
        rs.close();
        stmt.close();
       
    } catch (SQLException e) {
        System.err.println("Erro:" + e);
    }
    return result_busca;
}

}

é o erro é o seguinte
500 Internal Server Error
javax.faces.el.PropertyNotFoundException: Error testing property ‘nome’ in bean of type null at com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:362) at com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:260) at com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:228) at com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:311) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:131) at javax.faces.component.UIInput.getConvertedValue(UIInput.java:733) at javax.faces.component.UIInput.validate(UIInput.java:658) at javax.faces.component.UIInput.executeValidate(UIInput.java:869) at javax.faces.component.UIInput.processValidators(UIInput.java:432) at javax.faces.component.UIForm.processValidators(UIForm.java:190) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:932) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:362) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)

G

Cara eu estava com o mesmo problema e resolvi da seguinte forma
Dentro do meu bean :

public CadClienteBo() {
	if(cadClienteVo== null) 
		cadClienteVo = new CadClienteVo();
}

O meu resolveu porque na minha classe Bean que é o BO eu tinha um atributo cadClienteVo do Tipo CadClienteVo
e no momento em que o bean era intanciado e tentava acessar esse atributo ele não conseguia porque nao havia sido intanciado
então dentro do meu construtor BO eu instanciei esse atributo e foi enxergado no momento em que era setado.

G

ok

Criado 16 de janeiro de 2008
Ultima resposta 8 de out. de 2010
Respostas 21
Participantes 11