Após conhecermos o JSF e aplicarmos no nosso projeto poderemos entender como utilizar os elementos no XHTML para gerar tabelas, formulários entre outros componentes de tela bastante úteis para a interação com o usuário.
Claramente existem 1001 recursos diferentes que podem ser utilizados que não estarão presentes nesta aula. O objetivo dessa aula é introduzir a utilização destas ferramentas e mostrar um exemplo de CRUD usando estes recursos
Declare o JSF HTML para elementos básicos do HTML:
xmlns:h=”http://xmlns.jcp.org/jsf/html”
Declare o core do JSF para elementos mais complexos, por exemplo uma tabela de dados:
xmlns:f=”http://xmlns.jcp.org/jsf/core”
<h:form>
<h:inputText value="#{gerenciarPessoa.pessoaAtual.id}"/>
<h:inputText value="#{gerenciarPessoa.pessoaAtual.name}"/>
<h:commandButton value="cadastrar pessoa" action="#{gerenciarPessoa.salvarPessoa()}"/>
</h:form>
package Views;
import Controlers.PessoaJpaController;
import Controlers.exceptions.NonexistentEntityException;
import Models.Pessoa;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class GerenciarPessoa {
private Pessoa pessoaAtual = new Pessoa();
private List<Pessoa> listaPessoas = new ArrayList<>();
private PessoaJpaController controlPessoa = new PessoaJpaController(EmProvider.getInstance().getEntityManagerFactory());
public GerenciarPessoa() {
}
public String gotoAdicionarPessoa() {
return "CriarPessoa";
}
public String gotoEditarPessoa() {
return "EditarPessoa";
}
public String gotoListarPessoas() {
listarPessoas();
return "ListarPessoas";
}
public String salvarPessoa() {
controlPessoa.create(pessoaAtual);
return "sucesso";
}
public String editarPessoa() {
try {
controlPessoa.edit(pessoaAtual);
} catch (Exception ex) {
Logger.getLogger(GerenciarPessoa.class.getName()).log(Level.SEVERE, null, ex);
}
return "ListarPessoas";
}
public String deletePessoa() {
try {
controlPessoa.destroy(pessoaAtual.getId());
listarPessoas();
} catch (NonexistentEntityException ex) {
Logger.getLogger(GerenciarPessoa.class.getName()).log(Level.SEVERE, null, ex);
}
return "ListarPessoas";
}
public void listarPessoas() {
listaPessoas = controlPessoa.findPessoaEntities();
}
public Pessoa getPessoaAtual() {
return pessoaAtual;
}
public void setPessoaAtual(Pessoa pessoaAtual) {
this.pessoaAtual = pessoaAtual;
}
public List<Pessoa> getListaPessoas() {
return listaPessoas;
}
public void setListaPessoas(List<Pessoa> listaPessoas) {
this.listaPessoas = listaPessoas;
}
}
<h:dataTable var="pessoa" value="#{gerenciarPessoa.listaPessoas}">
<h:column>
<f:facet name = "header">Name</f:facet>
#{pessoa.name}
</h:column>
<h:column>
<f:facet name = "header">Ações</f:facet>
<h:form>
<h:commandButton value="Editar" action="#{gerenciarPessoa.gotoEditarPessoa()}">
<f:setPropertyActionListener target="#{gerenciarPessoa.pessoaAtual}" value="#{pessoa}"/>
</h:commandButton>
<h:commandButton value="Excluir" action="#{gerenciarPessoa.deletePessoa()}" >
<f:setPropertyActionListener target="#{gerenciarPessoa.pessoaAtual}" value="#{pessoa}"/>
</h:commandButton>
</h:form>
</h:column>
</h:dataTable>
Esse post foi modificado em 9 de abril de 2021 11:50
This website uses cookies.