Olá.
Eu tenho uma parte de editar um registro que traz por exemplo o id e nome.
Na página eu tenho
<h:inputText value="#{meuBean.objeto.id}"/>
<h:inputText value="#{meuBean.objeto.nome}"/>
e um botao que chama o método salvar…
o problema é o seguinte: o inputText ja vem com os valores carregados, quando eu clico em Editar.
Porém eu preciso desabilitar o inputText do id, pro cara num editar…
porém se eu usar o disabled=“true” ele nao passa pro bean o valor que ja veio carregado…
como eu faço pra mostrar ele e não dexa o cara edita?
use a propriedade rendered, mais ou menos assim:
rendered="#{not empty meuBean.objeto.id}"
Ai quando vc carregar, atualiza o form, ou o h:inputText para ele sumir…
[]'s
em vez de aparecer o código do id, exemplo: 1, 3, 10 ou sei lá…
apareceu: true
rsrs… a intenção é aparecer o numero normal, o id… + nao deixar editar…
<h:inputText value="#{meuBean.objeto.id}" rendered="#{not empty meuBean.objeto.id}" />
Você colocou assim?
rat000
Outubro 21, 2011, 11:40am
#5
Utilize o atributo readonly=“true” no h:inputText
Espero ter ajudado
testei aki e num deu certo
na verdade aconteceu a mesma coisa que acontece com o disabled=“true”
ele cria um registro novo no banco, em vez de editar o selecionado…
ferro
Usando disabled ou readonly, o JSF vai considerar aquele elemento como somente visualização, ou seja, não irá junto com o submit do form.
Usando rendered é pior ainda, pois nem na tela aparecerá.
Esse é o padrão no JSF.
Existem dois jeitos pra fazer o que você quer:
Colocar duas tags:
<h:inputHidden value="#{bean.id}" />
<h:inputText disabled="true" value="#{bean.id}" />
Fazer o campo readonly via javascript.
Escolha a que achar melhor pra você.
PS: o titulo do topico está pessimo. Parece que você não está colocando o disabled=“true” mas o campo aparece disabilitado em tela…
Obrigado a todos que responderam…
Guilherme Gomes especialmente, muito obrigado.
1° arrumei o titulo do tópico
2° resolvi da seguinte forma
um inputText com o disabled=“true” só pra informar ao usuário o código (id)
e um inputHidden, pra enviar o id no form
thanx very much rsrs