Como configurar o faces-config [RESOLVIDO]

Olá pessoal, gostaria de saber como poderia configurar meu faces-config para que o um BEAN possa operar sobre um outro,

algo como beanUM e beanDOIS, o beanUM possa pegar e fazer set’s no beanDOIS

eu ja vi que tem uma tag chamada <managed-property> mas não consegui usa-la

valeu pela anteção :wink:

alguem ?

não estou conseguindo gerar nem um exemplo para conseguir seguir em frente, tudo que eu acho não funciona :cry:

.

O managed property serve para inicializar automaticamente um ou mais atributos do seu Bean, pode ser com um valor fixo (caso seja String ou numero) ou com outro managed-bean.

Coloque aí o que vc está tentando fazer para entendermos melhor!

Então cara,

assim vamos supor que eu tenho 3 javaBeans no meu managed-bean, seria

entradabean, atividadebean e saidabean

o entradabean ele recebe alguns valores que chegam do browser via JSP, ai teria um botão no JSP que chama um método do atividadebean, oque a ativididadebean faz:

ela pega os valores que estão no entradabean e os soma colocando o resultado em um campo do saidabean

então oque eu preciso, que o atividadebean tenha a referencia dos outros dois beans

e fazendo algo como

<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">
	<application>
		<view-handler>org.jboss.portletbridge.application.PortletViewHandler</view-handler>
		<state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>
	</application>
	<managed-bean>
		<managed-bean-name>saida</managed-bean-name>
		<managed-bean-class>
			teste.saida
		</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>entrada</managed-bean-name>
		<managed-bean-class>
			teste.entrada
		</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>atividade</managed-bean-name>
		<managed-bean-class>
			teste.atividade
		</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
		<managed-property>
			<property-name>saida</property-name>
			<value>#{saida}</value>
		</managed-property>
		<managed-property>
			<property-name>entrada</property-name>
			<value>#{entrada}</value>
		</managed-property>
	</managed-bean>
</faces-config>

não consegui sucesso

A configuração aparentemente está certa… algumas dicas de por onde começar:

  1. Certifique-se que a classe Atividade possui os métodos setEntrada e setSaida.
  2. Verifique se em nenhum ponto você está instanciando as classes diretamente. Só funciona se o objeto for criado pelo JSF!
  3. Coloque breakpoint nesses métodos set, veja se estão sendo chamados em algum momento.
  4. Acompanhe os logs do servidor para ver se está dando algum erro que não aparece na tela.

Então cara, olha como estou fazendo

Atividade.java

package teste;
public class atividade
{
	//----Atributos Referencia---//
	private entrada entrada_ref;
	private saida saida_ref;
	public atividade(){}
	//----Validacoes----//
	public void validacao()
	{
		saida_ref.setresultado (  entrada_ref.getum() + entrada_ref.getdois()   );
	}
}

entrada.java

package teste;

public class entrada{
	//--------Atributos--------
	private int um;
	private int dois;
	public entrada(){}
	//--------Metodos GET e SET--------
	public String getum()
	{
		return Integer.toString(this.um);
	}
	public void setum(String um)
	{
		this.um = Integer.toString(um);
	}
	public String getdois()
	{
		return Integer.toString(this.dois);
	}
	public void setdois(String dois)
	{
		this.dois = Integer.parseInt(dois);
	}

saida.java

package teste;

public class saida{
	//--------Atributos--------
	private int resultado;
	public saida(){}
	//--------Metodos GET e SET--------
	public String getresultado()
	{
		return this.resultado;
	}
	public void setresultado(int resultado)
	{
		this.um = resultado;
	}
	

erro

javax.servlet.ServletException: Unable to create managed bean atividade.  The following problems were found:
     - Property entrada for managed bean atividade does not exist.
     - Property saida for managed bean atividade does not exist.

grato pela ajuda

vou colocar o
metodo Set

  1. Certifique-se que a classe Atividade possui os métodos setEntrada e setSaida.

[quote=gomesrod]A configuração aparentemente está certa… algumas dicas de por onde começar:

  1. Certifique-se que a classe Atividade possui os métodos setEntrada e setSaida.
  2. Verifique se em nenhum ponto você está instanciando as classes diretamente. Só funciona se o objeto for criado pelo JSF!
  3. Coloque breakpoint nesses métodos set, veja se estão sendo chamados em algum momento.
  4. Acompanhe os logs do servidor para ver se está dando algum erro que não aparece na tela.
    [/quote]

Nossa velho, era a dica numero 1

valeu pela ajuda, obrigado