JSF 2 + Primefaces + Campos de inputs dinâmicos

Galera do mau!!!

Estou tentando fazer um form que pode conter campos ilimitados (esses campos devem estar ‘bindados’ em uma variavel ‘arrayList’ do managed bean) algo assim:

                    &lt;h:outputText value="Título"/&gt; <br/>
                    &lt;h:inputText value="#{teste.titulo}"/&gt;

package Temp;

import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class Teste {


    private List titulo = new ArrayList();

    public List getTitulo() {
        return titulo;
    }

    public void setTitulo(List titulo) {
        this.titulo = titulo;
    }
    
}

Minha duvida é como fazer o campo novo aparecer e estar ‘bindado’ na minha variavel titulo do tipo arrayList

alguem ja fez algo assim:
[]

Já tentou usar o operador []. Ele funciona na EL mas não sei se ele vai resolver o seu caso. Outra idéia que eu usária, mas apenas após tentar a primeira, seria criar um componente custom para implementar isso.

vc diz, usar o operador no html?

assim?

 <h:outputText value="Título"/> <br/>  
 <h:inputText value="#{teste.titulo[]}"/>  

supondo que eu tenha um array preenchido:

colors = new String[4]; colors[0] = "Black"; colors[1] = "White"; colors[2] = "Green"; colors[3] = "Red";

se no html eu fizer isso:

&lt;h:outputText value="cores"/&gt; <br/> &lt;h:inputText value="#{teste.colors[]}"/&gt;

ele vai reconhecer que tem 4 valores e printar 4 inputs preenchidos??

Não, eu quero dizer assim:

<h:inputText value="#{bean.array[0]}" />

Você ainda pode combinar o operador com um ui:repeat para criar os campos dinâmicamente.

<ui:repeat value="#{bean.array}" varStatus="i">
  <h:inputText value="#{bean.array[i]}" />
</ui:repeat>

Ou ainda:

<ui:repeat value="#{bean.array}" var="i">
  <ui:inputText value=#{i}" />
</ui:repeat>

Mas uma vez eu quero dizer que não testei esse código e acho bem provavel que não funcione, embora ele pareça possível.
A solução mais garantida é a de criar um componente custom. Mas ainda vale tentar esse código uma vez que criar um componente vai muito mais trabalho.

dev.rafael

Testei essa solução e não funcionou!
Alguém testou isso? Estou tentando criar um banner com um link dinâmico e não estou conseguindo através do atributo varStatus!!!

Por favor se alguém conseguiu posta ai a solução!!!

Abraços

Eu quero a mesma coisa…(quase a mesma coisa)
ja descobriu como?

Cara,

Você conseguiu resolver este problema…

Estou precisando fazer isto mas com Dashboards e ainda não encontrei um exemplo.

Vlw