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.3

Continuando com a criação dos controllers, verifique o cadastro de motoristas realizado pelo controller CadastrarMotoristaMBean, apresentado na Listagem 11. Esse controller também deve ser incluído no pacote br.ufrn.imd.controllers.

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.Motorista;
12
 
13
/**
14
    * Controller para cadastrar motoristas.
15
    * @author itamir.filho
16
    *
17
*/
18
19
@ManagedBean
20
@SessionScoped
21
22
public class CadastrarMotoristaMBean {
23
 
24
    private Motorista motorista;
25
     
26
    private List<Motorista> motoristas;
27
     
28
    public CadastrarMotoristaMBean() {
29
        motorista = new Motorista();
30
        motoristas = new ArrayList<Motorista>();
31
    }
32
     
33
    public String entrarCadastro(){
34
        return "/form_motorista.jsf";
35
    }
36
     
37
    public String voltar(){
38
        return "/index.jsf";
39
    }
40
     
41
    public String cadastrar() {
42
        motoristas.add(motorista);
43
        motorista = new Motorista();
44
        FacesMessage msg = new FacesMessage("Motorista cadastrado com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_motorista.jsf";
48
    }
49
     
50
    public Motorista getMotorista() {
51
        return motorista;
52
    }
53
     
54
    public void setMotorista(Motorista motorista) {
55
        this.motorista = motorista;
56
    }
57
     
58
    public List<Motorista> getMotoristas() {
59
        return motoristas;
60
    }
61
     
62
    public void setMotoristas(List<Motorista> motoristas) {
63
        this.motoristas = motoristas;
64
    }
65
}
66
Listagem 11 - Código da classe CadastrarMotoristaMBean.

Vejamos a view para cadastrar motoristas, apresentada na Listagem 12. Essa página, denominada form_motorista.xhtml, também deve ser incluída na pasta WebContent do seu projeto.

30
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>Motorista</title>
6
        </h:head>
7
        <h:body>
8
            <h:messages/>
9
            <h1>Novo motorista</h1>
10
            <h:form>
11
            <fieldset>
12
                <p> Nome: <h:inputText value="#{cadastrarMotoristaMBean.motorista.nome}" 
13
                    size="50" required="true" requiredMessage="Nome: Campo obrigatório." /> </p>
14
                <p> CPF: <h:inputText value="#{cadastrarMotoristaMBean.motorista.cpf}" 
15
                    size="20" required="true" requiredMessage="CPF: Campo obrigatório." /> </p>
16
                <p> Matrícula: <h:inputText value="#{cadastrarMotoristaMBean.motorista.matricula}" 
17
                    size="20" required="true" requiredMessage="Matrícula: Campo obrigatório." /> </p>
18
                <p> CNH: <h:inputText value="#{cadastrarMotoristaMBean.motorista.registroCnh}" 
19
                    size="20" required="true" requiredMessage="CNH: Campo obrigatório." /> 
20
                    Cat.: <h:inputText value="#{cadastrarMotoristaMBean.motorista.categoriaCnh}" 
21
                    size="10" required="true" requiredMessage="Cat.: Campo obrigatório." /> </p>
22
                <p> Endereço: <h:inputTextarea value="#{cadastrarMotoristaMBean.motorista.endereco}" 
23
                    size="50" required="true" requiredMessage="Endereço: Campo obrigatório." /> </p>
24
                <p><h:commandButton value="Cadastrar" action="#{cadastrarMotoristaMBean.cadastrar}" />
25
                    <h:commandButton value="Voltar" action="#{cadastrarMotoristaMBean.voltar}" 
26
                    immediate="true"/> </p>
27
            </fieldset>
28
        </h:form>
29
    </h:body>
30
</html>
Listagem 12 - Código da página form_motorista.xhtml.

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

Figura 03 - Página para cadastrar motoristas de ônibus.
Página para cadastrar motoristas de ônibus.

Versão 5.3 - Todos os Direitos reservados