Valor nullo no JSP

O valor do meu jspx esta vindo nullo

			                    	<h:inputText value="#{ManterOrcamentoMB.orcamentohelper.precototal}"
			                    		styleClass="readOnly" readonly="true" id="precoTotal" />

na tela de orcamento eu tenho o total do orcamento
na tela de itensormento eu tenho um subtotal (total = subtotal)

entao no item do orcamento eu uso este SET

     public class ManterItemOrcamentoMB     {  
  
    private OrcamentoHelper orcamentohelper = new OrcamentoHelper();  
  
    @SuppressWarnings("unchecked")  
    public void confirmar() {  
                orcamentohelper.setPrecototal(new Dinheiro(10));  
  
        }  
  
}


    public class ManterOrcamentoMB implements Serializable, CallbackableMB,  
            OperacaoConfirmavel {  
                        private OrcamentoHelper orcamentohelper= new OrcamentoHelper();  
    ...  
    }  
      
    public class OrcamentoHelper{     
          
        private Dinheiro precototal ;  
        public Dinheiro getPrecototal() {  
            return precototal;  
        }  
      
        public void setPrecototal(Dinheiro precototal) {  
            this.precototal = precototal;  
        }  
      
    }  

Qual escopo vc está usando para seu bean?

Pessoal,

Estou mandando a tela , ilustrando melhor o meu problema.

qual escopo vc está utilizando no bean?

kleber,

estou dando manutenção no sistema que já estava pronto, e deu uma olhada e não tem nenhum escopo no meu bean,


import br.com.cqa.lims.web.orcamento.helper.OrcamentoHelper;

public class ManterOrcamentoMB implements Serializable, CallbackableMB,
		OperacaoConfirmavel {

se não tiver escopo definido, por default eh request,
isso quer dizer que vai limpar os objetos do seu managedBean em toda requisição.

se estiver usando o jsf 1.2 vai no faces-config e ve se não tem o escopo para esse managedBean definido lá.
se for jsf 2 tem que colocar o @tipoDoEscopo encima do nome da classe.

da minha classe OrcamentoHelper

@Stateless
public class OrcamentoHelper{

estava dando uma olhada no meu faces-config e esta desta forma :

    <managed-bean>
        <managed-bean-name>
            ManterOrcamentoMB
        </managed-bean-name>
        <managed-bean-class>
            br.com.cqa.lims.web.orcamento.ManterOrcamentoMB
        </managed-bean-class>
        <managed-bean-scope>
            request
        </managed-bean-scope>
    </managed-bean>

então, está como request. Vai limpar seus objetos dentro do ManagedBean a cada
requisição. Você está usando o richfaces? se tiver usa o
<a4j:keepAlive beanName="" />

Kleber ,
Você está usando o richfaces?
Sim

em que parte do jsp que eu colocaria a linha abaixo <a4j:keepAlive beanName="" />

Qual o valor que seria o beanName=""??

[quote=evandro_araujo]Kleber ,
Você está usando o richfaces?
Sim

em que parte do jsp que eu colocaria a linha abaixo <a4j:keepAlive beanName="" />

Qual o valor que seria o beanName=""??[/quote]

tens que colocar na sua pagina jsp,
se não me engano logo apos a tag do form

e seria assim

<a4j:keepAlive beanName=“ManterOrcamentoMB” />

Kleber, estou dando uma olhada no form, e ja tem esta opcao no meu jsp

    	<h:form id="orcamentoForm">
    		<div style="display: none">
    			<h:commandButton value="#{messages['botao.salvar']}" action="#{ManterOrcamentoMB.salvar}"
    				styleClass=" inlineButton saveButton mainButton" rendered="#{ManterOrcamentoMB.exibirBotaoSalvar}"/>
    			<h:commandButton value="#{messages['botao.cancelar']}" action="#{ManterOrcamentoMB.cancelar}"
		            styleClass="inlineButton cancelButton" />
    		</div>
        	<fieldset>
	            <a4j:keepAlive beanName="ManterOrcamentoMB" />

[quote=evandro_araujo]Kleber, estou dando uma olhada no form, e ja tem esta opcao no meu jsp

[code]
<h:form id=“orcamentoForm”>


<h:commandButton value="#{messages[‘botao.salvar’]}" action="#{ManterOrcamentoMB.salvar}"
styleClass=" inlineButton saveButton mainButton" rendered="#{ManterOrcamentoMB.exibirBotaoSalvar}"/>
<h:commandButton value="#{messages[‘botao.cancelar’]}" action="#{ManterOrcamentoMB.cancelar}"
styleClass=“inlineButton cancelButton” />


<a4j:keepAlive beanName=“ManterOrcamentoMB” />

[/code][/quote]

coloca assim

<a4j:keepAlive beanName=“ManterOrcamentoMB” />
<a4j:keepAlive beanName=“ManterItemOrcamentoMB” />

Keber, acabei de testar aqui .

        	<fieldset>
	            <a4j:keepAlive beanName="ManterOrcamentoMB" />
	            <a4j:keepAlive beanName="ManterItemOrcamentoMB" /> 

e ficou nullo o preço …

Kleber,

será que daria certo , se ao invez eu pegar daqui

<h:inputText value="#{ManterOrcamentoMB.orcamento.precoTotal}"

pegar direto do ManterOrcamentoMB.orcamentohelper.precototal???

ou não vai dar certo porque esta com spope request ??

kleber, sera que teria que ver alguma forma de passar o valor total entre os BEANS certo ??