Olá!
Criei um projeto pra testar os componentes do Primefaces, e criei uma página simples, com alguns campos, porem estou com dúvida sobre como “chamar” o método da classe de controle. Segue o código:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
<h:form id="form">
<h:panelGrid columns="2">
<h:outputText value="Nome: " />
<p:inputText value="#{clienteController.cliente.nome}" />
<h:outputText value="Celular: " />
<p:inputText value="#{clienteController.cliente.telefone1}" />
<h:outputText value="Telefone: " />
<p:inputText value="#{clienteController.cliente.telefone2}" />
<h:outputText value="Cidade: " />
<p:inputText value="#{clienteController.cliente.cidade}" />
<h:outputText value="Endereço: " />
<p:inputText value="#{clienteController.cliente.endereco}" />
<h:outputText value="Sexo: " />
<p:inputText value="#{clienteController.cliente.sexo}" />
<h:outputText value="Observações: " />
<p:inputText value="#{clienteController.cliente.observacoes}" />
<p:commandButton value="Salvar" action="#{clienteController.adicionarCliente}" update="form" />
</h:panelGrid>
</h:form>
</h:body>
</html>
Classe Cliente
package model;
import javax.persistence.*;
@Entity
@SequenceGenerator(name = "cliente_cod_seq", sequenceName = "cliente_cod_seq", allocationSize = 1)
public class Cliente {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "cliente_cod_seq")
private long cod;
private String nome;
private String telefone1;
private String telefone2;
private String cidade;
private String endereco;
private String sexo;
private String observacoes;
public long getCod() {
return cod;
}
public void setCod(long cod) {
this.cod = cod;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone1() {
return telefone1;
}
public void setTelefone1(String telefone1) {
this.telefone1 = telefone1;
}
public String getTelefone2() {
return telefone2;
}
public void setTelefone2(String telefone2) {
this.telefone2 = telefone2;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public String getObservacoes() {
return observacoes;
}
public void setObservacoes(String observacoes) {
this.observacoes = observacoes;
}
}
Classe ClienteController
package controller;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import model.Cliente;
import dao.ClienteDao;
import dao.ClienteDaoImp;
@ManagedBean
@SessionScoped
public class ClienteController {
private Cliente cliente;
@SuppressWarnings("rawtypes")
private DataModel listaClientes;
@SuppressWarnings({ "rawtypes", "unchecked" })
public DataModel getListarClientes() {
List lista = new ClienteDaoImp().list();
listaClientes = new ListDataModel(lista);
return listaClientes;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public void prepararAdicionarCliente(ActionEvent actionEvent) {
cliente = new Cliente();
}
public void prepararAlterarCliente(ActionEvent actionEvent) {
cliente = (Cliente) (listaClientes.getRowData());
}
public String excluirCliente() {
Cliente clienteTemp = (Cliente) (listaClientes.getRowData());
ClienteDao dao = new ClienteDaoImp();
dao.remove(clienteTemp);
return "index";
}
public void adicionarCliente(ActionEvent actionEvent) {
ClienteDao dao = new ClienteDaoImp();
dao.save(cliente);
}
public void alterarCliente(ActionEvent actionEvent) {
ClienteDao dao = new ClienteDaoImp();
dao.update(cliente);
}
}
Desde já, agradeço a ajuda de todos.
Grande abraço.