Gerar tabela com JSF

4 respostas
G

Pessoal,

Estou com um problema que é o seguinte.

Tenho uma aplicação em PHP que preciso passa-la para java e chegou uma determinada parte que não faço a mínima idéia de como vou dazer para converter, pois, de todas as forma que tentei até agora deu o seguinte erro “javax.servlet.ServletException: java.lang.IllegalArgumentException”.

O que preciso é o seguinte, gerar linhas em uma tabela que contenham uma coluna com “texto” e uma coluna com um “inputText” só que esse “inputText” pode se repetir até 31 vezes.

No PHP o código HTML gerado fica assim:

<tr>
                <td>Data:</td>
                <td><input name="txtEventoData[1]" value="" type="text"></td>
                <td>Horário Inicial:</td>
                <td><input name="txtInicioEventoHora[1]" value="" type="text"></td>
                <td>Horário Final:</td>
                <td><input name="txtFimEventoHora[1]" value="" type="text"></td>
            </tr>

			<tr>
                <td>Data:</td>
                <td><input name="txtEventoData[2]" value="" type="text"></td>
                <td>Horário Inicial:</td>
                <td><input name="txtInicioEventoHora[2]" value="" type="text"></td>
                <td>Horário Final:</td>
                <td><input name="txtFimEventoHora[2]" value="" type="text"></td>

            </tr>
			
			<tr>
                <td>Data:</td>
                <td><input name="txtEventoData[3]" value="" type="text"></td>
                <td>Horário Inicial:</td>
                <td><input name="txtInicioEventoHora[3]" value="" type="text"></td>
                <td>Horário Final:</td>
                <td><input name="txtFimEventoHora[3]" value="" type="text"></td>
            </tr>

Como faço pra gerar um código semelhante usando JSF?

Se tiverem pelo menos algo que eu possa ler pra me ajudar a fazer isso funcionar já será de grande serventia.

Desde já agradeço!

GENNF

4 Respostas

L

Não sei se eu entendi muito bem o que você quer… mas um datatable não resolve?

F

Panelgrid resolve seu problema.

Dá uma olhada nesse componente. Busquei esse link no google, tem inclusive um pequeno exemplo.

http://www.roseindia.net/jsf/panelGrid.shtml

Espero ter ajudado.
Qualquer outra dúvida é só chamar.

G

Deixa eu ver se consigo me expressar melhor.

Isso ai no PHP é a estrutura de um array onde posso resgata-los em meu controler usando o seguinte txtEventoData[1].

Como posso fazer o mesmo usando JSF?

Tentei assim:

<h:outputText value="Data" />
		<h:inputText id="dataInicio[]" />
		
		<h:outputText value="Data" />
		<h:inputText id="dataInicio[]" />
		
		<h:outputText value="Data" />
		<h:inputText id="dataInicio[]" />

E recebo o erro:

java.lang.IllegalArgumentException: dataInicio[]

Existe alguma forma de fazer o que quero? Meu raciocínio para arrays, coleções ou qualquer coisa parecida para java está errado?

Qual a forma certa?

Até mais...

F

Ah acho que entendi o que você precisa fazer realmente

O luistkd já havia dado a solução.

Você pode utilizar o componente DataTable para renderizar seus registros vindos de uma lista, sem problemas.

Segue um link com exemplo
http://www.roseindia.net/jsf/dataTable.shtml

Espero te ajudado.
Abraço.

Criado 4 de novembro de 2011
Ultima resposta 7 de nov. de 2011
Respostas 4
Participantes 3