Bem pessoal, estou iniciando a tecnologia JSF.
Quando eu clico em enviar, as tabelas são exibidas sem nenhum conteudo, como mostra essa imagem:
Aqui está a minha classe PessoaBean e logo Apois o index.xhtml.
package bean;
import Entidade.Pessoa;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class PessoaBean {
private Pessoa pessoa = new Pessoa();
private List <Pessoa> pessoas = new ArrayList<Pessoa>();
public void add() {
pessoas.add(pessoa);
pessoa = new Pessoa();
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
public List<Pessoa> getPessoas() {
return pessoas;
}
public void setPessoas(List<Pessoa> pessoas) {
this.pessoas = pessoas;
}
}
<!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"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Login</title>
</h:head>
<h:body>
<h:form>
<p:toolbar>
<p:toolbarGroup style="text-align:right">
<p:commandButton value="Enviar" action="#{pessoaBean.add()}" update="@form"></p:commandButton>
</p:toolbarGroup>
</p:toolbar>
<p:fieldset legend="Cadastro">
<div align="left">
<p:panelGrid columns="2" >
<h:outputLabel value="Nome"></h:outputLabel>
<p:inputText id="Nome" value="#{pessoaBean.pessoa.nome}"></p:inputText>
<h:outputLabel value="Idade"></h:outputLabel>
<p:inputMask mask="99" id="Idade" value="#{pessoaBean.pessoa.idade}"></p:inputMask>
<h:outputLabel value="Sexo"></h:outputLabel>
<p:inputMask mask="a" value="#{pessoaBean.pessoa.sexo}"></p:inputMask>
<h:outputLabel value="Cpf"></h:outputLabel>
<p:inputMask mask="999-999-999-99" value="#{pessoaBean.pessoa.cpf}"></p:inputMask>
</p:panelGrid>
</div>
<p:dataTable value="#{pessoaBean.pessoas}" var="p">
<p:column headerText="Nome" ></p:column>
<h:outputText value="#{p.nome}"></h:outputText>
<p:column headerText="Idade" ></p:column>
<h:outputText value="#{p.idade}"></h:outputText>
<p:column headerText="Sexo" ></p:column>
<h:outputText value="#{p.sexo}"></h:outputText>
<p:column headerText="Cpf" ></p:column>
<h:outputText value="#{p.cpf}"></h:outputText>
</p:dataTable>
</p:fieldset>
</h:form>
</h:body>
</html>