O complicado é que vc tem que colocar todos os seus componentes que estão perdendo o valor no atributo process
Ah! uma pergunta. Seu bean está no escopo session?
A
AndreMayer
pow! valeu kra!!! era exatamente isso, botei o id dos campos que eu queria e funcionou, não está mais perdendo os valores
obrigado ae!
A
AndreMayer
acabo de perceber um problema, usando process ele funcionou, porém tem um problema,
os campos que coloquei no process: process=“DTLancamento,idProjeto” esses campos são required=“true”
então se eu for direto para combobox que utiliza o ajax, sem ter preenchido os campos idProjeto e DTLancamento, ele dah uma mensagem de erro: required true, eu entendi o porque isso acontece porém não sei como resolver…
uma maneira seria tirar o required=“true” mas isso eh gambiarra pois eles devem ser preenchidos…
agradeço as respostas;
cristiano.andrade
Se estiver com ajaxSingle=“true” e com process… ele ignora o required pelo menos aqui funciona assim.
Primeiramente verifique o escopo de seu managed bean… esse deve ser o real motivo da perda de dados.
Sobre alguns conceitos discutidos no post:
ajaxSingle: Quando o valor de ajaxSingle é “true” significa que o único valor que dev ser incluído na requisição é o valor do componente que disparou a ação. No caso de um a4j:support , o valor incluído é o do componente pai.
process: Permite definir os IDs dos componentes que serão processados juntamente com um componente marcado como ajaxSingle ou com componentes de uma outra region
Os componentes indicados no atributo process passarão por todo o ciclo de vida do JSF, portanto, se algum deles for required=true e não estiver preenchido isso impedirá a submissão do form.
Para o seu caso eu recomendaria que vc incluisse o seu combo dentro de uma ajaxRegion (a4j:region), pois a tag region delimita a parte da view JSF será processada no lado servidor quando a requisição ajax for enviada.
A
AndreMayer
realmente o a4j:region funcionou!!! o problema com o required=“true” sumiu
porém eu continuo perdendo o valor dos meus campos que eu ja havia preenchido no formulario
eu procurei por scope na minha aplicação e achei isso aqui:
session
seria isso? o motivo pelo qual perco os valores?
Tchello
AndreMayer:
realmente o a4j:region funcionou!!! o problema com o required=“true” sumiu
porém eu continuo perdendo o valor dos meus campos que eu ja havia preenchido no formulario
eu procurei por scope na minha aplicação e achei isso aqui:
Pessoal tambem estava com o mesmo problema resolvi com um a4j:region coloquei todos os inputs que precisava dentro dele e não utilizei nem ajaxsingle e nem process assim ele envia todos campos dentro a4j:region na requisição ajax só assim o problema foi resolvido.
Ps Em meus testes com a dupla de tags process + ajaxsingle só funcionou com dois campos no meu caso não resolveu uma outra solução seria colocar o backingbean com scopo de session.