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
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.
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.Linha;
/**
* Controller para cadastrar linhas de ônibus.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarLinhaMBean {
private Linha linha;
private List<Linha> linhas;
public CadastrarLinhaMBean() {
linha = new Linha();
linhas = new ArrayList<Linha>();
}
public String entrarCadastro(){
return "/form_linha.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
linhas.add(linha);
linha = new Linha();
FacesMessage msg = new FacesMessage("Linha cadastrada com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_linha.jsf";
}
public Linha getLinha() {
return linha;
}
public void setLinha(Linha linha) {
this.linha = linha;
}
public List<Linha> getLinhas() {
return linhas;
}
public void setLinhas(List<Linha> linhas) {
this.linhas = linhas;
}
}
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.
<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>Linha</title>
</h:head>
<h:body>
<h:messages/>
<h1>Nova linha</h1>
<h:form>
<fieldset>
<p> Identificação: <h:inputText value="#{cadastrarLinhaMBean.linha.ident}"
size="20" required="true" requiredMessage="Identificação: Campo obrigatório." /> </p>
<p>Origem: <h:inputText value="#{cadastrarLinhaMBean.linha.origem}"
size="50" required="true" requiredMessage="Origem: Campo obrigatório." /> </p>
<p> Destino: <h:inputText value="#{cadastrarLinhaMBean.linha.destino}"
size="50" required="true" requiredMessage="Destino: Campo obrigatório." /></p>
<p>Hora de saída: <h:inputText value="#{cadastrarLinhaMBean.linha.horaSaida}"
size="10" required="true" requiredMessage="Hora de saída: Campo obrigatório." />
Hora de saída: <h:inputText value="#{cadastrarLinhaMBean.linha.horaChegada}"
size="10" required="true" requiredMessage="Hora de chegada: Campo obrigatório." />
</p>
<p><h:commandButton value="Cadastrar" action="#{cadastrarLinhaMBean.cadastrar}" />
<h:commandButton value="Voltar" action="#{cadastrarLinhaMBean.voltar}"
immediate="true"/> </p>
</fieldset>
</h:form>
</h:body>
</html>
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.
Versão 5.3 - Todos os Direitos reservados