Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web II / Aula
Com a implementação das classes definidas no pacote br.ufrn.imd.dao já podemos alterar nossos Managed Beans para persistir e consultar informações no banco de dados da nossa aplicação. Como fazer isso? Simples! Vamos incluir nos nossos controllers, definidos no pacote br.ufrn.imd.controllers, chamadas aos métodos de inserção e busca definidos nas classes do pacote br.ufrn.imd.dao. Essas alterações se concentrarão nos métodos de obter as listas e nos métodos para cadastrar.
A Listagem 6 apresenta o código do controller para cadastro de cobradores. Observe que as alterações foram realizadas apenas nos métodos cadastrar() e getCobradores().
package br.ufrn.imd.controllers;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import br.ufrn.imd.dao.CobradorDao;
import br.ufrn.imd.model.Cobrador;
/**
* Controller para cadastrar cobradores.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarCobradorMBean {
private Cobrador cobrador;
private List<Cobrador> cobradores;
public CadastrarCobradorMBean() {
cobrador = new Cobrador();
cobradores = new ArrayList<Cobrador>();
}
public String entrarCadastro(){
return "/form_cobrador.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
CobradorDao cobradorDao = new CobradorDao();
cobradorDao.inserirCobrador(cobrador);
cobrador = new Cobrador();
FacesMessage msg = new FacesMessage("Cobrador cadastrado com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_cobrador.jsf";
}
public Cobrador getCobrador() {
return cobrador;
}
public void setCobrador(Cobrador cobrador) {
this.cobrador = cobrador;
}
public List<Cobrador> getCobradores() {
CobradorDao cobradorDao = new CobradorDao();
cobradores = cobradorDao.buscarTodosCobradores();
return cobradores;
}
public void setCobradores(List<Cobrador> cobradores) {
this.cobradores = cobradores;
}
}
A Listagem 7 apresenta o código da classe CadastrarEmpresaMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getEmpresas().
package br.ufrn.imd.controllers;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import br.ufrn.imd.dao.EmpresaDao;
import br.ufrn.imd.model.Empresa;
/**
* Controller para cadastro das empresas.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarEmpresaMBean {
private Empresa empresa;
private List<Empresa> empresas;
public CadastrarEmpresaMBean() {
empresa = new Empresa();
empresas = new ArrayList<Empresa>();
}
public String entrarCadastro(){
return "/form_empresa.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
EmpresaDao empresaDao = new EmpresaDao();
empresaDao.inserirEmpresa(empresa);
empresa = new Empresa();
FacesMessage msg = new FacesMessage("Empresa cadastrada com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_empresa.jsf";
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public List<Empresa> getEmpresas() {
EmpresaDao empresaDao = new EmpresaDao();
empresas = empresaDao.buscarTodasEmpresas();
return empresas;
}
public void setEmpresas(List<Empresa> empresas) {
this.empresas = empresas;
}
}
A Listagem 8 apresenta o código da classe CadastrarLinhaMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getLinhas().
package br.ufrn.imd.controllers;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import br.ufrn.imd.dao.LinhaDao;
import br.ufrn.imd.model.Linha;
/**
* Controller para cadastrar linhas de ônibus.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarLinhaMBean {
private Linha linha;
private List<Linha> linhas;
public CadastrarLinhaMBean() {
linha = new Linha();
linhas = new ArrayList<Linha>();
}
public String entrarCadastro(){
return "/form_linha.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
LinhaDao linhaDao = new LinhaDao();
linhaDao.inserirLinha(linha);
linha = new Linha();
FacesMessage msg = new FacesMessage("Linha cadastrada com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_linha.jsf";
}
public Linha getLinha() {
return linha;
}
public void setLinha(Linha linha) {
this.linha = linha;
}
public List<Linha> getLinhas() {
LinhaDao linhaDao = new LinhaDao();
linhas = linhaDao.buscarTodasLinhas();
return linhas;
}
public void setLinhas(List<Linha> linhas) {
this.linhas = linhas;
}
}
Versão 5.3 - Todos os Direitos reservados