Cursos / Informática para Internet / Desenvolvimento Web II / Aula

arrow_back Aula 04 - Desenvolvendo um Sistema de Informação Web com JSF

Desenvolvimento dos Controllers e Views pt.2

Na mesma ordem de criação das classes de domínio, vamos implementar o cadastro de cobradores. Começaremos com o controller CadastrarCobradorMBean, apresentado na Listagem 9, que deve ser incluído no pacote br.ufrn.imd.controllers e possuir os atributos: cobrador e cobradoresCadastrados.

x
1
package br.ufrn.imd.controllers;
2
 
3
import java.util.ArrayList;
4
import java.util.List;
5
 
6
import javax.faces.application.FacesMessage;
7
import javax.faces.bean.ManagedBean;
8
import javax.faces.bean.SessionScoped;
9
import javax.faces.context.FacesContext;
10
 
11
import br.ufrn.imd.model.Cobrador;
12
 
13
/**
14
    * Controller para cadastrar cobradores.
15
    * @author itamir.filho
16
    *
17
*/
18
19
@ManagedBean
20
@SessionScoped
21
22
public class CadastrarCobradorMBean {
23
 
24
    private Cobrador cobrador;
25
     
26
    private List<Cobrador> cobradores;
27
     
28
    public CadastrarCobradorMBean() {
29
        cobrador = new Cobrador();
30
        cobradores = new ArrayList<Cobrador>();
31
    }
32
     
33
    public String entrarCadastro(){
34
        return "/form_cobrador.jsf";
35
    }
36
     
37
    public String voltar(){
38
        return "/index.jsf";
39
    }
40
     
41
    public String cadastrar() {
42
        cobradores.add(cobrador);
43
        cobrador = new Cobrador();
44
        FacesMessage msg = new FacesMessage("Cobrador cadastrado com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_cobrador.jsf";
48
    }
49
     
50
    public Cobrador getCobrador() {
51
        return cobrador;
52
    }
53
     
54
    public void setCobrador(Cobrador cobrador) {
55
        this.cobrador = cobrador;
56
    }
57
     
58
    public List<Cobrador> getCobradores() {
59
        return cobradores;
60
    }
61
     
62
    public void setCobradores(List<Cobrador> cobradores) {
63
        this.cobradores = cobradores;
64
    }
65
}
Listagem 9 - Código da classe CadastrarCobradorMBean.

Vamos à view para cadastrar cobradores que é apresentada na Listagem 10. Essa página, denominada form_cobrador.xhtml, contém os atributos para inserção das informações de um cobrador e também deve ser incluída na pasta WebContent do seu projeto.

23
1
<html xmlns="http://www.w3.org/1999/xhtml" 
2
xmlns:h="http://java.sun.com/jsf/html"
3
xmlns:f="http://java.sun.com/jsf/core">
4
    <h:head>
5
        <title>Cobrador</title>
6
    </h:head>
7
8
    <h:body>
9
        <h:messages/>
10
        <h1>Novo cobrador</h1>
11
        <h:form>
12
            <fieldset>
13
                <p> Nome: <h:inputText value="#{cadastrarCobradorMBean.cobrador.nome}" size="50" required="true" requiredMessage="Nome: Campo obrigatório." /> </p>
14
                <p> CPF: <h:inputText value="#{cadastrarCobradorMBean.cobrador.cpf}" size="20" required="true" requiredMessage="CPF: Campo obrigatório." /> </p>
15
                <p> Matrícula: <h:inputText value="#{cadastrarCobradorMBean.cobrador.matricula}" size="20" required="true" requiredMessage="Matrícula: Campo obrigatório." /> </p>
16
                <p> Endereço: <h:inputTextarea value="#{cadastrarCobradorMBean.cobrador.endereco}" size="50" required="true" requiredMessage="Endereço: Campo obrigatório." /> </p>
17
                <p> <h:commandButton value="Cadastrar" action="#{cadastrarCobradorMBean.cadastrar}" />
18
                    <h:commandButton value="Voltar" action="#{cadastrarCobradorMBean.voltar}" 
19
                immediate="true"/> </p>
20
            </fieldset>
21
        </h:form>
22
    </h:body>
23
</html>
Listagem 10 - Código da página form_cobrador.xhtml.

Ao implementar as Listagens 9 e 10, podemos acessar esse formulário pelo endereço http://localhost:8080/SITURB/form_cobrador.jsf, onde obtemos a página apresentada na Figura 2.

Figura 02 - Página para cadastrar cobradores que são funcionários de empresas de transportes urbanos.
Página para cadastrar cobradores que são funcionários de empresas de transportes urbanos.

Versão 5.3 - Todos os Direitos reservados