JSF - h: panelGrid
A tag h: panel renderiza um elemento HTML "table".
Tag JSF
<h:panelGrid id = "panel" columns = "2" border = "1"
cellpadding = "10" cellspacing = "1">
<f:facet name = "header">
<h:outputText value = "Login"/>
</f:facet>
<h:outputLabel value = "Username" />
<h:inputText />
<h:outputLabel value = "Password" />
<h:inputSecret />
<f:facet name = "footer">
<h:panelGroup style = "display:block; text-align:center">
<h:commandButton id = "submit" value = "Submit" />
</h:panelGroup>
</f:facet>
</h:panelGrid>
Saída renderizada
<table id = "j_idt10:panel" border = "1" cellpadding = "10" cellspacing = "1">
<thead>
<tr><th colspan = "2" scope = "colgroup">Login</th></tr>
</thead>
<tfoot>
<tr>
<td colspan = "2">
<span style = "display:block; text-align:center">
<input id = "j_idt10:submit" type = "submit"
name = "j_idt10:submit" value = "Submit" />
</span>
</td>
</tr>
</tfoot>
<tbody>
<tr>
<td><label>Username</label></td>
<td><input type = "text" name = "j_idt10:j_idt17" /></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input type = "password" name = "j_idt10:j_idt21" value = "" /></td>
</tr>
</tbody>
</table>
Atributos de tag
S.Não | Atributo e descrição |
---|---|
1 | id Identificador para um componente |
2 | binding Referência ao componente que pode ser usado em um backing bean |
3 | rendered Um booleano; falso suprime a renderização |
4 | styleClass Nome da classe da folha de estilo em cascata (CSS) |
5 | value O valor de um componente, normalmente uma associação de valor |
6 | bgcolor Cor de fundo para a mesa |
7 | border Largura da borda da mesa |
8 | cellpadding Preenchimento em torno das células da mesa |
9 | cellspacing Espaçamento entre células da tabela |
10 | columnClasses Lista separada por vírgulas de classes CSS para colunas |
11 | columns Número de colunas na tabela |
12 | footerClass Classe CSS para o rodapé da tabela |
13 | frame moldura Especificação dos lados da moldura ao redor da mesa que serão desenhados; valores válidos: nenhum, acima, abaixo, hsides, vsides, lhs, rhs, box, border |
14 | headerClass Classe CSS para o cabeçalho da tabela |
15 | rowClasses Lista separada por vírgulas de classes CSS para colunas |
16 | rules Especificação para linhas desenhadas entre células; valores válidos: grupos, linhas, colunas, todos |
17 | summary Resumo da finalidade e estrutura da tabela usada para feedback não visual, como fala |
18 | dir Direção do texto. Os valores válidos sãoltr (da esquerda para a direita) e rtl (direita para esquerda) |
19 | lang Idioma base dos atributos e texto de um elemento |
20 | border Valor de pixel para a largura da borda de um elemento |
21 | title Um título, usado para acessibilidade, que descreve um elemento. Os navegadores visuais normalmente criam dicas de ferramentas para o valor do título |
22 | width Largura de um elemento |
23 | onblur Elemento perde o foco |
24 | onchange O valor do elemento muda |
25 | onclick O botão do mouse é clicado sobre o elemento |
26 | ondblclick O botão do mouse é clicado duas vezes sobre o elemento |
27 | onfocus Elemento recebe foco |
28 | onkeydown A tecla está pressionada |
29 | onkeypress A tecla é pressionada e posteriormente liberada |
30 | onkeyup Chave liberada |
31 | onmousedown O botão do mouse é pressionado sobre o elemento |
32 | onmousemove O mouse se move sobre o elemento |
33 | onmouseout O mouse sai da área do elemento |
34 | onmouseover O mouse se move para um elemento |
35 | onmouseup Botão do mouse liberado |
Aplicação de exemplo
Vamos criar um aplicativo JSF de teste para testar a tag acima.
Degrau | Descrição |
---|---|
1 | Crie um projeto com o nome helloworld sob um pacote com.tutorialspoint.test conforme explicado no capítulo JSF - Primeira Aplicação . |
2 | Modifique home.xhtml conforme explicado abaixo. Mantenha o resto dos arquivos inalterados. |
3 | Compile e execute o aplicativo para ter certeza de que a lógica de negócios está funcionando de acordo com os requisitos. |
4 | Por fim, construa o aplicativo na forma de um arquivo war e implante-o no Apache Tomcat Webserver. |
5 | Inicie seu aplicativo da web usando o URL apropriado, conforme explicado a seguir na última etapa. |
home.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>JSF Tutorial!</title>
</head>
<body>
<h2>h:panelGrid example</h2>
<hr />
<h:form>
<h:panelGrid id = "panel" columns = "2" border = "1"
cellpadding = "10" cellspacing = "1">
<f:facet name = "header">
<h:outputText value = "Login"/>
</f:facet>
<h:outputLabel value = "Username" />
<h:inputText />
<h:outputLabel value = "Password" />
<h:inputSecret />
<f:facet name = "footer">
<h:panelGroup style = "display:block; text-align:center">
<h:commandButton id = "submit" value = "Submit" />
</h:panelGroup>
</f:facet>
</h:panelGrid>
</h:form>
</body>
</html>
Assim que você estiver pronto com todas as mudanças feitas, vamos compilar e rodar a aplicação como fizemos no capítulo JSF - Primeira Aplicação. Se tudo estiver bem com sua aplicação, isso produzirá o seguinte resultado.