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
Observe que já temos os cadastros de empresa, cobrador, motorista e linhas referentes ao nosso sistema de transportes urbanos. Então, vamos ao controller que realiza o cadastro de ônibus centralizando todas as informações cadastradas anteriormente: CadastrarOnibusMBean. Esse controller é apresentado na Listagem 15 e, assim como todos os outros contollers, deve ser incluído no pacote br.ufrn.imd.controllers.
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.model.Cobrador;
import br.ufrn.imd.model.Empresa;
import br.ufrn.imd.model.Linha;
import br.ufrn.imd.model.Motorista;
import br.ufrn.imd.model.Onibus;
/**
* Controller para cadastrar os ônibus.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarOnibusMBean {
private Onibus onibus;
private List<Onibus> listagem;
public CadastrarOnibusMBean() {
iniciarValores();
listagem = new ArrayList<Onibus>();
}
private void iniciarValores() {
onibus = new Onibus();
onibus.setMotorista(new Motorista());
onibus.setLinha(new Linha());
onibus.setEmpresa(new Empresa());
onibus.setCobrador(new Cobrador());
}
public String entrarCadastro(){
return "/form_onibus.jsf";
}
public String listar(){
return "/list_onibus.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
listagem.add(onibus);
iniciarValores();
FacesMessage msg = new FacesMessage("Ônibus cadastrado com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_onibus.jsf";
}
public Onibus getOnibus() {
return onibus;
}
public void setOnibus(Onibus onibus) {
this.onibus = onibus;
}
public List<Onibus> getListagem() {
return listagem;
}
public void setListagem(List<Onibus> listagem) {
this.listagem = listagem;
}
}
A view para cadastrar os ônibus é apresentada na Listagem 16. Essa página, denominada form_onibus.xhtml, também deve ser incluída na pasta WebContent do seu projeto.
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>ônibus</title>
</h:head>
<h:body>
<h:messages/>
<h1>Novo ônibus</h1>
<h:form>
<fieldset>
<p>Marca: <h:inputText value="#{cadastrarOnibusMBean.onibus.marca}"
size="20" required="true" requiredMessage="Marca: Campo obrigatório." />
Ano: <h:inputText value="#{cadastrarOnibusMBean.onibus.ano}"
size="5" required="true" requiredMessage="Ano Campo obrigatório." />
</p>
<p> Modelo: <h:inputText value="#{cadastrarOnibusMBean.onibus.modelo}"
size="50" required="true" requiredMessage="Modelo: Campo obrigatório." /> </p>
<p> Empresa:
<h:selectOneMenu value="#{cadastrarOnibusMBean.onibus.empresa.razaoSocial}">
<f:selectItems value="#{cadastrarEmpresaMBean.empresas}" />
</h:selectOneMenu>
</p>
<p> Motorista:
<h:selectOneMenu value="#{cadastrarOnibusMBean.onibus.motorista.nome}">
<f:selectItems value="#{cadastrarMotoristaMBean.motoristas}" />
</h:selectOneMenu>
</p>
<p>Cobrador:
<h:selectOneMenu value="#{cadastrarOnibusMBean.onibus.cobrador.nome}">
<f:selectItems value="#{cadastrarCobradorMBean.cobradores}" />
</h:selectOneMenu>
</p>
<p>Linha:
<h:selectOneMenu value="#{cadastrarOnibusMBean.onibus.linha.ident}">
<f:selectItems value="#{cadastrarLinhaMBean.linhas}" />
</h:selectOneMenu>
</p>
<p><h:commandButton value="Cadastrar" action="#{cadastrarOnibusMBean.cadastrar}" />
<h:commandButton value="Listar" action="#{cadastrarOnibusMBean.listar}" immediate="true"/>
<h:commandButton value="Voltar" action="#{cadastrarOnibusMBean.voltar}" immediate="true"/>
</p>
</fieldset>
</h:form>
</h:body>
</html>
Ao implementar as Listagens 15 e 16, podemos acessar esse formulário pelo endereço http://localhost:8080/SITURB/form_onibus.jsf, onde obtemos a página apresentada na Figura 5.
Versão 5.3 - Todos os Direitos reservados