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
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.
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.Motorista;
/**
* Controller para cadastrar motoristas.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarMotoristaMBean {
private Motorista motorista;
private List<Motorista> motoristas;
public CadastrarMotoristaMBean() {
motorista = new Motorista();
motoristas = new ArrayList<Motorista>();
}
public String entrarCadastro(){
return "/form_motorista.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
motoristas.add(motorista);
motorista = new Motorista();
FacesMessage msg = new FacesMessage("Motorista cadastrado com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_motorista.jsf";
}
public Motorista getMotorista() {
return motorista;
}
public void setMotorista(Motorista motorista) {
this.motorista = motorista;
}
public List<Motorista> getMotoristas() {
return motoristas;
}
public void setMotoristas(List<Motorista> motoristas) {
this.motoristas = motoristas;
}
}
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.
<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>Motorista</title>
</h:head>
<h:body>
<h:messages/>
<h1>Novo motorista</h1>
<h:form>
<fieldset>
<p> Nome: <h:inputText value="#{cadastrarMotoristaMBean.motorista.nome}"
size="50" required="true" requiredMessage="Nome: Campo obrigatório." /> </p>
<p> CPF: <h:inputText value="#{cadastrarMotoristaMBean.motorista.cpf}"
size="20" required="true" requiredMessage="CPF: Campo obrigatório." /> </p>
<p> Matrícula: <h:inputText value="#{cadastrarMotoristaMBean.motorista.matricula}"
size="20" required="true" requiredMessage="Matrícula: Campo obrigatório." /> </p>
<p> CNH: <h:inputText value="#{cadastrarMotoristaMBean.motorista.registroCnh}"
size="20" required="true" requiredMessage="CNH: Campo obrigatório." />
Cat.: <h:inputText value="#{cadastrarMotoristaMBean.motorista.categoriaCnh}"
size="10" required="true" requiredMessage="Cat.: Campo obrigatório." /> </p>
<p> Endereço: <h:inputTextarea value="#{cadastrarMotoristaMBean.motorista.endereco}"
size="50" required="true" requiredMessage="Endereço: Campo obrigatório." /> </p>
<p><h:commandButton value="Cadastrar" action="#{cadastrarMotoristaMBean.cadastrar}" />
<h:commandButton value="Voltar" action="#{cadastrarMotoristaMBean.voltar}"
immediate="true"/> </p>
</fieldset>
</h:form>
</h:body>
</html>
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.
Versão 5.3 - Todos os Direitos reservados