JSF Components

3 respostas
W

Pessoal.

Como crio um componente que resulte em uma tabela com várias linhas e colunas?

Exemplo, a aplicação informa para o componente JSF um objeto, e o componente exibe em uma tabela (<table) os dados do objeto. Eu preciso que o componente gere mais de uma componente html.

Grato!

3 Respostas

Lucas_Lacerda_Gertel

Você quer criar um componente pra isso?


http://www.ibm.com/developerworks/java/library/j-jsf4/

Não sei se existe esta necessidade.
Se o problema for um message ligado a um objeto dentro de uma datatable acredito que o melhor caminho seja criar um conversor.

Explique melhor o que você precisa.
Abraços

W

Olá Lucas!

Preciso fazer um questionário. O questionário vai ter algumas perguntas. Essas perguntas podem ser objetivas ( o usuário digita a resposta ) e de assinalar a opção correta ( o usuário seleciona uma radiobutton ).

Exemplo:

<html>
	<body>
		<!-- Questão 01 -->
		<table>
			<tr>
				<td>1. Qual o seu sexo?</td>
			</tr>
			<tr>
				<td>
					<input type="radio">Masculino</input>
				</td>
			</tr>
			<tr>
				<td>
					<input type="radio">Feminino</input>
				</td>
			</tr>
		</table>
		<br>
		<!-- Questão 02 -->
		<table>
			<tr>
				<td>2. Qual a sua idade?</td>
			</tr>
			<tr>
				<td>
					<input type="text"></input>
				</td>
			</tr>
		</table>
	</body>
</html>

O código acima exemplifica o que preciso fazer.

Tenho um objeto chamado Questionario que possui uma série de questões e cada questão uma série de itens.
A idéia é informar esse objeto para o componente e ele criar a estrutura toda.

O que você acha?

Lucas_Lacerda_Gertel

Então, acho que você não precisa de um componente personalizado.
Eis o que você poderia fazer:

Imagine que você tem um arquivo .jsf assim:

<h:dataTable value="#{questionarioBean.questoes}" var="questao">
 <h:ouputText value="#{questao.pergunta" />
 <h:inputText value="{questao.resposta}" rendered="#{questaoBean.isQuestaoRespondivel}" />
 <h:selectManyCheckbox  rendered="questaoBean.isQuestaoTeste}">
    <f:selecteItems value="#{questao.reposta}" />
 </h:selectManyCheckbox>
</h:dataTable>

Acho que por ai da pra você ter uma idéia.
Abraços

Criado 10 de julho de 2008
Ultima resposta 10 de jul. de 2008
Respostas 3
Participantes 2