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

Vamos ao cadastro de linhas de ônibus realizada pelo controller CadastrarLinhaMBean, apresentado na Listagem 13 e também 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.Linha;
12
 
13
/**
14
    * Controller para cadastrar linhas de ônibus.
15
    * @author itamir.filho
16
    *
17
*/
18
19
@ManagedBean
20
@SessionScoped
21
22
public class CadastrarLinhaMBean {
23
 
24
    private Linha linha;
25
     
26
    private List<Linha> linhas;
27
     
28
    public CadastrarLinhaMBean() {
29
        linha = new Linha();
30
        linhas = new ArrayList<Linha>();
31
        }
32
     
33
    public String entrarCadastro(){
34
        return "/form_linha.jsf";
35
    }
36
     
37
    public String voltar(){
38
        return "/index.jsf";
39
    }
40
     
41
    public String cadastrar() {
42
        linhas.add(linha);
43
        linha = new Linha();
44
        FacesMessage msg = new FacesMessage("Linha cadastrada com sucesso!");
45
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
46
        FacesContext.getCurrentInstance().addMessage("", msg);
47
        return "/form_linha.jsf";
48
    }
49
     
50
    public Linha getLinha() {
51
        return linha;
52
    }
53
     
54
    public void setLinha(Linha linha) {
55
        this.linha = linha;
56
    }
57
     
58
    public List<Linha> getLinhas() {
59
        return linhas;
60
    }
61
     
62
    public void setLinhas(List<Linha> linhas) {
63
        this.linhas = linhas;
64
    }
65
 
66
}
Listagem 13 - Código da classe CadastrarLinhaMBean.

A view para cadastrar linhas de ônibus é apresentada na Listagem 12. Essa página, denominada form_linha.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>Linha</title>
6
    </h:head>
7
    
8
    <h:body>
9
        <h:messages/>
10
        <h1>Nova linha</h1>
11
        <h:form>
12
            <fieldset>
13
                <p> Identificação: <h:inputText value="#{cadastrarLinhaMBean.linha.ident}" 
14
                    size="20" required="true" requiredMessage="Identificação: Campo obrigatório." /> </p>
15
                <p>Origem: <h:inputText value="#{cadastrarLinhaMBean.linha.origem}" 
16
                    size="50" required="true" requiredMessage="Origem: Campo obrigatório." /> </p>
17
                <p> Destino: <h:inputText value="#{cadastrarLinhaMBean.linha.destino}" 
18
                    size="50" required="true" requiredMessage="Destino: Campo obrigatório." /></p>
19
                <p>Hora de saída: <h:inputText value="#{cadastrarLinhaMBean.linha.horaSaida}" 
20
                    size="10" required="true" requiredMessage="Hora de saída: Campo obrigatório." />
21
                    Hora de saída: <h:inputText value="#{cadastrarLinhaMBean.linha.horaChegada}" 
22
                    size="10" required="true" requiredMessage="Hora de chegada: Campo obrigatório." />
23
                </p>
24
                <p><h:commandButton value="Cadastrar" action="#{cadastrarLinhaMBean.cadastrar}" />
25
                    <h:commandButton value="Voltar" action="#{cadastrarLinhaMBean.voltar}"
26
                immediate="true"/> </p>
27
            </fieldset>
28
        </h:form>
29
    </h:body>
30
</html>
Listagem 14 - Código da página form_linha.xhtml.

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

Figura 04 - Página para cadastrar linhas de ônibus.
Página para cadastrar linhas de ônibus.

Versão 5.3 - Todos os Direitos reservados