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 ??