Propriedade List em JSF

4 respostas
O

Bom dia pessoal.

Estou com uma duvida e gostaria da ajuda de voces. Eu vou ter 5 inputs que vao ser armazenados em uma propriedade List do meu ManagedBean, so que nao estou conseguindo implementa-lo. Como que voces tratam esse problema. Eu criei no meu MB uma propriedade List com seus get e set’s e no view eu fiz assim:

<h:inputText styleClass="TextDivLeft" id="prazo1"  size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"/>
												<h:inputText styleClass="TextDiv" id="prazo2" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"/>
												<h:inputText styleClass="TextDiv" id="prazo3" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"/>
												<h:inputText styleClass="TextDiv" id="prazo4"  size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"/>
												<h:inputText styleClass="TextDiv" id="prazo5" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"/>

Onde prazos é uma collection:

private List<Integer> prazos;

public List<Integer> getPrazos() {
		return prazos;
}
	
public void setPrazos(List<Integer> prazos) {
		this.prazos = prazos;
				
}

Com eu faco isso? Preciso adcionar esses 5 inputs dentro dessa Collection do MB.

Obrigado…

4 Respostas

dansouza

Provavelmente vc vai ter um botão “Salvar” que executará uma ação correto?
Implementa a ação no MB (saveAction). Nesse método vc faz um list.Add dos prazos…
Como cada input dos prazos tem que ter uma propriedade associada em seu MB.

Botão:

<h:commandButton value="Salvar" action="#{MB.saveAction}" />

No seu MB:

public String saveAction(){
  list.Add(prazo1);
  list.Add(prazo2);
  list.Add(prazo3);
  list.Add(prazo4);
  list.Add(prazo5);
  return "success"
}

Pelo menos vejo como a forma mais simples de se fazer…

[]'s

O

Caro dansouza.

Eu pensei que os inputs poderiam ser como posicoes do List que esse sim seria uma propriedade do meu MB e nao cada input uma propriedade. Tipo assim:

&lt;h:inputText styleClass="TextDivLeft" id="prazo1" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos[0]}"/&gt; &lt;h:inputText styleClass="TextDiv" id="prazo2" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos[1]}"/&gt; &lt;h:inputText styleClass="TextDiv" id="prazo3" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos[2]}"/&gt; &lt;h:inputText styleClass="TextDiv" id="prazo4" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos[3]}"/&gt; &lt;h:inputText styleClass="TextDiv" id="prazo5" size="5" required="true" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos[4]}"/&gt;

E a propriedade prazos um List…

private List&lt;Integer&gt; prazos;
	
	
public List&lt;Integer&gt; getPrazos() {
	return prazos;
}
	
public void setPrazos(List&lt;Integer&gt; prazos) {
	this.prazos = prazos;
	
}

Seria possivel fazer dessa forma?

Obrigado…

dansouza

Hum, dessa forma nunca utilizei…
Tem que testar…

Neto.Sabio

cara eu acho que isso nao seria uma boa.

&lt;a4j&gt;
   &lt;h:inputText id="myinput" value="#{ParametroManagedBean.prazoCumprimentoPlanoAcaoManagedBean.prazos}"&gt;
      &lt;a4j:support event="onkeyup" reRender="outtext"  action="#{blabla.blabla}"/&gt;
   &lt;/h:inputText&gt;
   &lt;/a4j&gt;

cara onde tem o action="#{blabla.blabla}" chama um methodo dentro do seu MBean adicionando o “prazos” a lista, assim voce so coloca um botao de “OK” para persistir o Array.

espero ter ajudado.

Pace!!!

Criado 22 de setembro de 2008
Ultima resposta 22 de set. de 2008
Respostas 4
Participantes 3