Jsf dinamico

25/10/2011

0

Boa noite, estou tentando desenvolver um formulario para quando o usuario abrir a pagina do formulario de cadastro o <h:inputTextarea> ja vir com o valor setado do meu controler, tendo ele opçao de editar o campo ou nao, porém ao salvar este valor deve ir ao banco de dados..

Exemplo.
<h:outputText value=Inscritos: />
<h:inputTextarea id=inscritos rows=10 cols=80
value=#{etapaController.etapa.inscritos}
required=true
requiredMessage=Campo obrigatório>
</h:inputTextarea>
<h:message style=color: red for=inscritos />

__
algo semelhante ao valueChangeListener=, porém os exemplos que achei, não me ajudaram.

No aguardo.
Roger Mendes

Roger Mendes

Responder

Posts

26/10/2011

Davi Costa

Basta no get do seu Controller vc já passar o valor, por exemplo:

public String getSeuAtributo(String seuAtributo){
if(seuAtributo == null){
seuAtributo = Valor inicial;
}
return seuAtributo;
}


att Davi
Responder

26/10/2011

Roger Mendes

Davi,

sim, mas minha duvida é na pagina qual atributo eu coloco no meu <h:inputTextarea>
para acessar esse modulo getSeuAtributo, sendo que value=#{etapaController.etapa.inscritos}, já esta sendo usado para
ler e depois salvar no banco de dados.
Responder

26/10/2011

Davi Costa

Sobe mais um nível então.

public Etapa getEtapa(){
if(etapa != null && etapa.getInscritos() == null){
etapa.setInscritos(seuValor);
}

return etapa;

}
Responder

27/10/2011

Roger Mendes

Neste modulo é lido do banco os inscritos da tabela InscritoPoi.

<h:panelGrid columns=8 >
<f:facet name=header >
<h:outputText value=Usuários Cadastrados></h:outputText>
</f:facet>
<div style=overflow:-moz-scrollbars-vertical;height: 50px>

<h:dataTable border=0 id=inscritos var=item
value=#{etapaController.inscritos}
style=width: 396px>

<h:column id=column1>
<b>Matricula: </b><h:outputText value=#{item.matricula}/>
</h:column>

</h:dataTable>
</div>

<h:message style=color: red for=inscritos />

</h:panelGrid>

No modulo abaixo na mesma pagina formEtapa.xhtml, logo abaixo do modulo descrito acima, aguarda algo a ser digitado
pelo usuario a ser salvo na nova linha da tabela etapaPoi, o sistema irá ler o modulo acima se for a primeira etapa criada
, ou seja busta os inscritos, porém gostaria que na tag <h:inputTextarea>, estive já os inscritos listados acima, e se o usuario master,
quizesse acrescentar ou remover uma bc do <h:inputTextarea> antes de salvar.
Neste exemplo o h:imputTextarea esta vazio, pq value=#{etapaController.etapa.inscritos}, esta aguardando algo a ser digitado, para
ser salvo.



<rich:panel bodyClass=rich-laguna-panel-no-header>
<f:facet name=header>
Inscritos
</f:facet>
<h:inputTextarea id=inscritos rows=10 cols=80
value=#{etapaController.etapa.inscritos}
required=true
requiredMessage=Campo obrigatório>
</h:inputTextarea>
<h:message style=color: red for=inscritos />
</rich:panel>
Responder

09/11/2011

Dyego Carmo

Resolvido o problema ?

Qualquer coisa estou a disposição :)

Se sim , poderia fechar o chamado ?
Responder

09/11/2011

Roger Mendes

consegui pelo metodo explicado acima, porém no meu metodo do controller
public Etapa getEtapa() {
if(etapa != null && etapa.getInscritos() == null){
etapa.setInscritos(getInscritos().toString());

}

o metodo getInscritos(), retonar um DataModel, e da forma que coloquei esta mostrando o endereço da memoria, como faço para mostrar os dados.

Esta sendo lido entro do <h:inputTextarea>
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar