A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a JSF Marco Antonio. Agenda ManagedBean Página JSP Faces-config DataTable.

Apresentações semelhantes


Apresentação em tema: "Introdução a JSF Marco Antonio. Agenda ManagedBean Página JSP Faces-config DataTable."— Transcrição da apresentação:

1 Introdução a JSF Marco Antonio

2 Agenda ManagedBean Página JSP Faces-config DataTable

3 Lista de diretórios/arquivos Na figura ao lado podemos conferir a lista dos arquivos no final do projeto. Use como referência.

4 ManagedBeans Para cada página JSP teremos um bean (classe java com get/set) correspondentes. Essa classe é chamada ManagedBean e deve ter um atributo para cada campo da página. –Ex: Uma página de login, com nome e senha, deve ter um managedbean com os atributos nome e senha correspondentes.

5 LoginBean package net.sca.controle; public class LoginBean { private String nome; private String senha; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; }

6 LoginBean public String validarUsuario() { if (getSenha().equals("123456")) { return "usuarioValido"; } return "usuarioInvalido"; }

7 faces-config.xml loginBean net.sca.controle.LoginBean request

8 faces-config.xml /Login.jsp usuarioValido /PaginaPrincipal.jsp /Login.jsp usuarioInvalido /UsuarioInvalido.jsp

9 web.xml Arquivo que define o servlet do JSF. Deve estar dentro do WebContent/WEB-INF.

10 web.xml SistemaDeControleAereo Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.faces

11 Métodos de comando Os managedbeans também têm os métodos executados em cada página. Mais uma vez, imaginando o login, teremos um método validarUsuario. Essa validação usa os valores dos atributos nome e senha, que foram carregados automaticamente pelo JSF. Cada uma das ações (usuarioValido e usuarioInvalido) redireciona a aplicação para uma página diferente.

12 Arquivo de mensagens Crie o arquivo no diretório informado anteriormente.

13 mensagens.properties titulo.pagina.login=Página de Login atributo.id=Código nome.fantasia=Nome Fantasia razao.social=Razão Social nome=Nome: senha=Senha: botao.login=Efetuar Login usuario.invalido=Usuário Inválido mensagem.boasvindas=Bem-Vindo ao SCA

14 Primeira página web Ctrl + N ou menu File -> new...

15 Login.jsp Atençao: as páginas ficam na pasta WebContent. Essa é apenas uma definição do plugin do eclipse.

16 Login.jsp (1ª. Parte) (1) page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> (2) (3) (4) (5) Página de login

17 Detalhamento 1.Encoding – padrão de caracteres utilizados na página. É um padrão internacional. 2.Tipo de documento. 3.Biblioteca de tags do JSF 4.Biblioteca de tags HTML do JSF 5.Folha de estilo

18 Login.jsp (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)

19 Detalhamento 1.View: Início da página JSF. 2.loadBundle: Arquivo de mensagens. 3.Form: Tag de abertura do formulário. Todos os componentes devem ficar dentro dele. 4.panelGrid: Tabela com 2 colunas. 5.Facet: Cabeçalho (header) ou rodapé (footer) da tabela. 6.outputText: texto puro, recuperado da respectiva chave no arquivo de mensagens.

20 Cont outputText: recupera o texto associado com a chave msgs.nome 8. inputText: associa essa caixa de texto com a propriedade nome do loginBean 9. outputText: inputSecret: associa essa caixa de texto (senha) com a respectiva propriedade senha no loginBean 11. commandButton: botão para acessar o sistema. Esse botão executa o método validarUsuario do loginBean. 12. Botão de reset, com um texto explícito (sem recuperar do arquivo de mensagens).

21 Menu.jsp Início | Empresa Aérea | Funcionários | Aeronave | Vôo

22 Detalhamento Abre a página associada a PaginaPrincipal.jsp ou ListaDeEmpresas.jsp (visto depois no arquivo faces-config.xml). O JSF troca a extensão jsp por faces no browser.

23 PaginaPrincipal.jsp page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> Página Principal

24 UsuarioInvalido.jsp page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> Erro

25 UsuarioInvalido.jsp (1) (2)

26 Detalhamento 1.commandLink: cria um a href para paginaDeLogin, ou seja, abre de novo a tela de login. 2.Texto do link.

27 EmpresaAereaBean package net.sca.controle; import javax.faces.model.*; import net.sca.entidades.*; import net.sca.persistencia.*; public class EmpresaAereaBean { private DAOEmpresaAerea daoEmpresaAerea; //DAO correspondente private EmpresaAerea empresaAerea; //Objeto para a persistência private DataModel modelo; //Modelo para o DataTable public DAOEmpresaAerea getDaoEmpresaAerea() { if (daoEmpresaAerea == null) { //Inicialização tardia (lazy inicialization) daoEmpresaAerea = new DAOEmpresaAerea(); } return daoEmpresaAerea; }

28 EmpresaAereaBean //Componente do JSF para criação de telas de consulta public DataModel getEmpresas() { modelo = new ListDataModel(getDaoEmpresaAerea().listaTodos()); return modelo; } //Objeto para persistência public EmpresaAerea getEmpresaAerea() { if (empresaAerea == null) { empresaAerea = new EmpresaAerea(); } return empresaAerea; } public void setEmpresaAerea(EmpresaAerea empresaAerea) { this.empresaAerea = empresaAerea; }

29 EmpresaAereaBean //Utilizado na edição //Recupera o objeto selecionado na tabela public String mostraDados() { Object objetoSelecionado = modelo.getRowData(); setEmpresaAerea((EmpresaAerea) objetoSelecionado); return "editar"; } //Persistência do objeto public String gravar() { getDaoEmpresaAerea().atualizar(getEmpresaAerea()); return "paginaPrincipal"; }

30 DAOGenerico Crie o método a seguir no DAOGenerico: public List listaTodos() { String sql = "FROM " + getClasse().getName(); Query query = sessao.createQuery(sql); return query.list(); } –O hibernate trabalha com a classe List para coleção de objetos

31 Lista de empresas Para listar as empresas iremos usar o componente DataTable, recuperando os dados da coleção e mostrando direto na tabela.

32 ListaDeEmpresas.jsp page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> Lista de Empresas

33 ListaDeEmpresas.jsp Lista de Empresas

34 ListaDeEmpresas.jsp

35 Tela de cadastro No cadastro, o managedbean EmpresaAereaBean associa os valores das caixas de texto com as propriedades do atributo EmpresaAerea. O id deve ficar guardado em um campo hidden. Quando o usuário pressionar o botão Gravar, será executado o método gravar no MB.

36 CadastroDeEmpresa.jsp page language="java" contentType="text/html; charset=ISO " pageEncoding="ISO "%> Cadastro de Empresa

37 CadastroDeEmpresa.jsp Dados da Empresa

38 faces-config.xml É o momento de acrescentar os novos MBs e regras de navegação no arquivo de configuração.

39 Registro do bean empresaAereaBean net.sca.controle.EmpresaAereaBean request

40 Regras de navegação /ListaDeEmpresas.jsp editar /CadastroDeEmpresa.jsp paginaPrincipal /PaginaPrincipal.jsp paginaDeLogin /Login.jsp /ListaDeEmpresas.jsp

41 Próximos passos Como desafio, implemente a inclusão e exclusão.


Carregar ppt "Introdução a JSF Marco Antonio. Agenda ManagedBean Página JSP Faces-config DataTable."

Apresentações semelhantes


Anúncios Google