Valores de campos

3 respostas
J

tenho uma aplicaçao que estou fazendo em jsf, no qual crio todos os meus componentes, objetos e tudo fora do html, ou seja, no html, eu so tenho uma linha que chama
o meu MenagedBean e mais nada.

Mas agora que terminei de fazer toda a montagem dinamica, me surgiu uma duvida gigante, como que faço para pegar os valores desses objetos que vao ser gerados dinamicamente e alimentado na pagina de internet?

exemplo

Código : 01
Nome : João

pegar esse dados
01; João

Grato

3 Respostas

R

supondo que seus objetos esteja preenchidos no Mben segue um exemplo

<h:outputText value="#{seuBean.seuObjeto}"/>
J

entao cara deixa eu te mostrar como eu to fazendo

aqui existe uma classe onde cria os objetos, no caso text, combos, labels entre outros, aqui vai o exemplo de como vai criar um text, passo parametros e é criado com algumas opçoes de corres, tamanho e tudo mais.

private HtmlInputText texto;
public UIComponent CriaTexto(Integer maxLength, Integer size,
			Boolean readOnly, Boolean required, Boolean styleObrigatorio,
			String nome) {
		Complementos comple = new Complementos();

		texto = new HtmlInputText();
		texto.setMaxlength(maxLength);
		texto.setSize(size);
		texto.setReadonly(readOnly);
		texto.setRequired(required);
		texto.setId(nome);
		/* caso for obrigatorio terá uma formatacao diferente */
		if (styleObrigatorio) {
			texto.setStyle(comple.getStyleObrigatorio());
		}
		/*
		 * caso mesmo sendo obrigatorio mas readonly, ficara com a segunda
		 * formatacao
		 */
		if (texto.isReadonly()) {
			texto.setStyle(comple.getSytleReadOnly());
		}
		return texto;
	}

após isso eu adicono ele no meu HtmlPanelGrid.

private HtmlPanelGrid criaCampos;
criaCampos = new HtmlPanelGrid();

criaCampos.getChildren().add(
    cria.CriaTexto(Integer.parseInt(splitComentario
	.get(1)), Integer
	.parseInt(splitComentario.get(1)),
	Boolean.parseBoolean(splitComentario
	.get(2)), Boolean
	.parseBoolean(splitComentario
	.get(2)), Boolean
	.parseBoolean(splitComentario
	.get(4)),campo));

no meu add, como tu pode ver, eu passo os parametros exigidos na hora de criar o meu objeto, até ai tranquilo, onde o meu HtmlPanelGrid, vai receber todos os objetos, seja 1 ou 1000… depois no meu xhtml eu faço assim

<h:panelGrid columns="2" binding="#{criaTela.criaCampos}" />

Éssa é a minha unica linha no meu xhtml, onde chama a classe que alimentao o meu HtmlPanelGrid;

o que eu nao sei como fazer é pegar os dados digitados no objeto que vai ser criado no xhtml e poder fazer um Insert ou um Update…algum tipo de transaçao.

Nao sei se consegui me explicar…espero que sim!

Obrigado!

R

Não sei se eu entendi o que vc quer dizer mas tenta algo tipo isso

<h:panelGrid columns="2" binding="#{texto.readOnly}" />

se vc tem o “texto” com os valores e esta setando o setReadonly no “readOnly” como no trecho abaixo, e isso que eu entendi

texto.setReadonly(readOnly);

Criado 10 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 3
Participantes 2