Atualizar valores campos Jsf

5 respostas
maurenginaldo

Oi pessoal,

tenho um formulário Jsf que preciso autalizar os valores dos campos através do bean.
No bean tenho uma lista com os id’s dos componentes, onde faço um loop e vou setando o valor:

for (Componente componente : listaComponentes) { valueBinding = FacesContext.getCurrentInstance().getApplication().createValueBinding("#{" + componente.campo + "}"); uiComponent = FacesContext.getCurrentInstance().getViewRoot().findComponent( "formulario:" + componente.getId()); uiComponent.setValueBinding("value", valueBinding); }

Esse código está certinho, ele acha os campos da tela e seta o valor neles.
Agora vem o problema:

Os únicos campos que atualizam seus valores e mostram na tela são os que estão marcados “readonly=true”

Alguém já viu isso?

5 Respostas

rdantas

ow, já tive este problema também, mas não consegui resolver e acabei mudando meu esquema aqui. Mas se vc ou alguém aí tiver a solução manda aê!! :lol: :lol:

J

me diz uma coisa, isso que vc ta usando ajuda pra ao entrar na página os dados já estarem carregados,estou procurando ajuda pois não encontrei nada, queria ao carregar meu formulário os dados já estarem nos campos.
vlw e qualquer ajuda será bem vinda

maurenginaldo

Oi Javatux,

para o que vc quer fazer basta no construtor do seu bean que é referenciado na página Jsf vc inicializar o objeto que é referenciado nos campos.

O que estou fazendo é criar dinamicamente valores para os campos.

J

maurenginaldo, isso foi o que imaginei tambem no inicio, mas quando fiz não deu certo…
meu construtor:

public UserBean() { pessoa = new Pessoa(); usuario = new Usuario(); }

e dentro ligado pelo value

<h:inputText id="matricula" style="margin-left:7%; width :137px;" required="true" value="#{userBean.pessoa.matricula}" /> <br/>

se eu colocar um outputText mostra tudo que tiver na sessão, mas no campos input nunca aparece nada, devo estar fazendo alguma coisa bem errada.

maurenginaldo

JavaTux:
maurenginaldo, isso foi o que imaginei tambem no inicio, mas quando fiz não deu certo…
meu construtor:

public UserBean() { pessoa = new Pessoa(); usuario = new Usuario(); }

Quando vc executa o código acima os campos dos objetos recebem valores no construtor?
Vc não está passando nenhum parâmetro.

Criado 11 de fevereiro de 2008
Ultima resposta 11 de fev. de 2008
Respostas 5
Participantes 3