[b]Boa tarde a todos!
Estou tentando popular um DataGrid do primeFaces, mas estou muito confuso de como posso proceder.
Sou iniciante no mundo Java EE e pesquisei bastante sobre o assunto, mas não consegui listar os objetos quando uma pessoa clica no botao gravar.
Abaixo segue as classes, caso falte alguma é so pedir![/b]
Parte da Visao:
[code] <h:outputText value=“Endereço:” />
<p:inputText id=“endereco” size=“25” value="#{controleCliente.contato.endereco}" required=“true” requiredMessage=“Campo Endereco Obrigatório” ></p:inputText>
<h:outputText value="Tel Residencial:" />
<p:inputText id="telres" size="25" value="#{controleCliente.contato.telres}" required="true" requiredMessage="Campo Telefone Obrigatório"></p:inputText>
<h:outputText value="Tel Celular:" />
<p:inputText id="tecel" size="25" value="#{controleCliente.contato.telcel}" required="true" requiredMessage="Campo Celular Obrigatório"></p:inputText>
<h:outputText value="E-mail:" />
<p:inputText id="email" size="25" value="#{controleCliente.contato.email}" required="true" requiredMessage="Campo E-mail Obrigatório"></p:inputText>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gravar" onclick="confirmation.show()" type="button" ></p:commandButton>
<p:commandButton value="Limpar" type="reset"></p:commandButton>
<p:confirmDialog message="Tem certeza que deseja gravar o contato?"
showEffect="bounce" hideEffect="explode"
header="Confirmação de Gravação" severity="alert" widgetVar="confirmation">
<p:commandButton value="Sim" update="messages, @form" oncomplete="confirmation.hide()"
actionListener="#{controleCliente.gravarFormulario}"/>
<p:commandButton value="Não" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</h:panelGrid>
</p:panel>
</h:form>
<h:form>
<h:panelGrid>
<p:dataTable id="tdContato" var="p" rows="10" emptyMessage="Não existem registros!" paginator="true" value="#{controleCliente.listaContatos()}">
<p:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{p.nome}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Endereço" />
</f:facet>
<h:outputText value="#{p.endereco}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Telefone Residencial" />
</f:facet>
<h:outputText value="#{p.telres}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Telefone Celular" />
</f:facet>
<h:outputText value="#{p.telcel}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="E-mail" />
</f:facet>
<h:outputText value="#{p.email}"/>
</p:column>
</p:dataTable>
</h:panelGrid>
</h:form> [/code]
MangedBean:
[code]@ManagedBean
@RequestScoped
public class ControleCliente {
private Contato contato;
private List<Contato> contatos = new ArrayList<Contato>();
public ControleCliente() {
this.contato = new Contato();
}
public String init() {
Contato contato = new Contato();
return "index.xhtml";
}
public void gravarFormulario(ActionEvent actionEvent) {
ContatoHelper grvcontato = new ContatoHelper();
grvcontato.gravarContato(contato);
contato = new Contato();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Obrigado Pela Colaboração!", "Erro, tente de novo!");
FacesContext.getCurrentInstance().addMessage(null, message);
}
public List<Contato> listaContatos() {
Iterator it = contatos.iterator();
while (it.hasNext()) {
Contato c = (Contato) it.next();
}
return contatos;
}
public Contato getContato() {
return contato;
}
public void setContato(Contato contato) {
this.contato = contato;
}
O Helper:
[code]public class ContatoHelper {
Session session = null;
Transaction tx = null;
Contato contato;
public ContatoHelper() {
this.session = HibernateUtil.getSessionFactory().openSession();
}
public void gravarContato(Contato contato) {
try {
tx = session.getTransaction();
tx.begin();
session.save(contato);
session.flush();
tx.commit();
} catch (HibernateException ex) {
ex.printStackTrace();
} finally {
session.close();
}
}
}[/code]
[b]Pessoal,
não sei o que falta fazer, na verdade devo estar fazendo um confusão danada.
Peço a ajuda e compreesao de todos
Obrigado[/b]