Dois managedBean + jsf 2

oi galera

estou precisando chamar em um unico xhtml, dois managedBean diferente. Mas ta dando erro.

Meus managedBean

@ViewScoped
@ManagedBean
public class ProdutoController

private Long codigo;
private String descricao;
private Double preço;
//outros atributos

//getters and setters ocultos

public void addProduto()
{
  //logica para adicionar o produto
}

[code]@ViewScoped
@ManagedBean
public class ParametroController

private Long codigo;
private String nome;
private String valor;
private Double limite;
private Double valor;

//getters and setters ocultos

public void updateParametro()
{
//logica para atualizar os parametros
}[/code]

meu xhtml



<p:outputPanel id="dialogParam" >
 		 			<p:dialog widgetVar="dlgParam" modal="true" header="Parametros" height="400" width="700" style="font-size:11px">
 		 				<h:form>
 		 					<h:messages />
 		 					 		 								<h:panelGrid columns="2">
			  	  		 					<h:outputText value="Valor Limite: *" style="width:200px"/>	
						   	  		 		<h:outputText value="#{parametroController.limite}" style="width:200px"/>
						   	  		 		<h:outputText value="R$ cobrado: *" style="width:200px"/>
						   	  		 		<h:outputText value="#{parametroController.valor}" style="width:200px"/>	
						   	  		 		<p:commandButton value="Fechar" onclick="dlgParam.hide();" />
					   	  		 		</h:panelGrid>
					   	  		 	  	  		 				
 		 				</h:form>
 		 			</p:dialog>

erro apresentado

01/09/2011 07:36:08 com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit GRAVE: javax.el.ELException: /geral.xhtml @731,86 value="#{parametroController.limite}": Error reading 'limite' on type br.com.project.mb.ParametroController

alguem sabe o pq nao esta conseguindo ler esse atributo de parametro?

estranho se os gets e sets estão declarados deveria conseguir acessar o atributo
você já conseguiu utilizar outros managedbeans?

tenta mudar o escopo do managedbean para @RequestScope ou @SessionScope
para fazer um teste para ver se funciona.

Cara, tenta dar nome aos bois.

@ManagedBean(name = "algumaCoisaControle")

Vai que é alguma zica de nome.

Att

É Isso Ai !

[quote]
01/09/2011 08:22:18 Assunto: Re:dois managedBean + jsf 2
Cara, tenta dar nome aos bois.
view plaincopy to clipboardprint?
@ManagedBean(name = “algumaCoisaControle”)

Vai que é alguma zica de nome.

Att [/quote]

coloque name nos beans , ou mapeie por xml.WEB-INF -> faces-config.xml

<managed-bean>
		<managed-bean-name>usuarioBean</managed-bean-name> // Nome do Bean que voce ira chamar no xhtml #{"usuarioBean.meuMetodo"}
		<managed-bean-class>bean.UsuarioBean</managed-bean-class> //Pacote + nameClass
		<managed-bean-scope>session</managed-bean-scope> //scope
	</managed-bean>

ja deu certo. O problema é que tava vindo do banco um valor 36000,00.
Removi as casas decimais e deu certo

[quote=mausexdd]É Isso Ai !

não existe motivo de mapear por managed-bean no jsf2. por que não usar as vantagens que o jsf2 te oferece? mapear por annotation ou pelo faces vai dar o mesmo resultado, a diferença que é muito mais facil de dar erro usando o faces-config.xml.

eu fui bem claro em coloque o nome nos Beans (BOIS) “OU” podes mapear por xml , é só uma opção um outro recurso tão bom e eficaz quanto o sugerido, e conheço muita gente que não prefere estas vantagens , não sou umas delas adoto este modo de mapear para qualquer coisa hibernate,Spring,JSF, porem outros profissionais alegam a mistura de configuração com código e pensando por este angulo em alguns fatores realmente eles estão certos.

sim, acredito que se lotar de annotations dentro de uma classe pode atrapalhar bem, mas depende muito de como o programador criou elas também. por que se o cara estiver fazendo tudo certinho e organizado, usar uma ou outra configuração basica para evitar ficar mexendo por exemplo no faces-config.xml ja ajuda muito.

javaCBA,

o jadsonuch tem razao, deixa a ferramenta resolver a questao do nome, mas sempre dei nome aos bois!

Eu fiz um exemplo aqui bem simples,com 2 classes similar o seu problema e funcionou, com Double, String.
Faça o seguinte teste, retire da sua classe e do seu xhtml o atributo limite e faça o teste. Se rodar blza veja no seu codigo o que vc esta passando para o Limite.
Outra coisa, evita colocar variavel com ç como é o caso do preço.