sábado, 19 de fevereiro de 2011

JSF, Inicio Rápido – Parte 2

Já leu a introdução?

Então vamos à parte 2 deste tutorial.

Agora vamos criar algumas páginas JSP e Java, para começar a transformar nosso projeto em um “projeto”.

Mas primeiro, deixa eu explicar a finalidade destas páginas.
Vamos desenvolver um projetinho simples de JSF, para exemplificar a comunicação e configuração das páginas e do projeto em si, para isso iremos construir uma páginazinha index com uma opção de cadastro, ao clicar no link será aberta uma página de cadastro com 3 campos: Nome, e-mail e um “botão” submit, ao enviar este formulário os beans serão populados e estas informações serão exibidas em outra página, com um botão de voltar para a página inicial.

Ficará mais ou menos assim:


Página inicial / Menu:
Imagem de exemplo do projeto JSF concluído, Pagina inicial/Menu.
 

Página de cadastro:
Imagem de exemplo do projeto JSF concluído, Página de cadastro.
 

Página de Falha no cadastro (Caso não tenha sido digitado nada na tela):
Imagem de exemplo do projeto JSF concluído, Página de falha no cadastro.
 

Página de cadastro (Após clicar no botão “Tentar novamente” da página de erro):
Imagem de exemplo do projeto JSF concluído, Página de cadastro.
 

Página de sucesso (Ao preencher os campos de cadastro corretamente):
Imagem de exemplo do projeto JSF concluído, Página de cadastro realizado com sucesso.
 

Página principal (Ao clicar no botão “Voltar” da página de Sucesso.)
Imagem de exemplo do projeto JSF concluído, Página principal/Menu.



Agora que já sabemos como o projeto irá ficar no final, podemos começar a construir as páginas.
Aqui vale uma explicação sobre as páginas. Em JSF nenhuma tag especial consegue ser executada se a página não for chamada “página.jsf”, se você chamar em algum link “página.jsp”, por exemplo, o console irá acusar um erro, informando que as tags da página solicitada são inválidos. Não se esqueça disso!


Crie a seguinte estrutura de arquivos (dentro das pastas indicadas nas imagens, crie as pastas que não existirem):

Imagem da estrutura de arquivos que deve ser criada.
 

Então teremos os seguintes arquivos criados:
testeBean
dentro das pastas (pacote) br.com.projetox.view.bean;
messages.properties
dentro das pastas (pacote) br.com.projetox.view.bundle;
index.jsp
dentro da pasta WebContent;
falha.jsp
dentro da pasta WebContent/pages;
inicio.jsp
dentro da pasta WebContent/pages;
menu.jsp
dentro da pasta WebContent/pages;
sucesso.jsp
dentro da pasta WebContent/pages;

Agora que criamos todos os arquivos, vamos preenchê-los com códigos, começando do BEAN.
Abra o arquivo testeBean.java e crie duas váriáveis String, uma nome e outra email (exatamente com estes nomes) e faça os gets e sets das variáveis. Crie também um método testar(), para executar alguma ação e retornar algum “endereço” para a aplicação.
Segue o código:
//----INICIO DO CÓDIGO DA CLASSE testeBean.java
package br.com.projetox.view.bean;
 /**
 * @author codeerror.wordpress.com
 */
 public class testeBean {
 private String nome;
 private String email;
   public String testar(){
      String retorno = "falhou";
      if(!this.nome.equals("") && !this.email.equals("")){
         retorno = "sucesso";
      }
      return retorno;
   }
   public String getNome() {
      return nome;
   }
   public void setNome(String novoNome) {
      this.nome = novoNome;
   }
   public String getEmail() {
      return email;
   }
   public void setEmail(String novoEmail) {
      this.email = novoEmail;
   }
 }
//----- FIM DO CÓDIGO DA CLASSE testeBean.java
Sim eu sei, falta JavaDoc, mas precisamos economizar linhas aqui no post…
Deixa eu explicar o que significa cada coisa.

As variáveis são private String, por que queremos variáveis do tipo String, e private por que não é pra mais ninguém (nenhuma outra classe) acessar estas variáveis diretamente, isto é um padrão de desenvolvimento.

O método testar() verifica se os campos nome e e-mail possuem algum valor, se eles possuirem algum valor o método irá retornar “sucesso” caso eles estejam em branco, o método irá retornar “falha“, irei falar o significado destes retornos mais pra frente, mas já da pra se ter uma idéia.

Depois do método testar() estão os gets e sets das variáveis. Estes métodos são necessários (e muito) para praticamente tudo em java, eles que controlam a entrada e saida das variáveis, por exemplo o método getNome() retorna o valor contido na variável nome, o método setNome(String novoNome) copia o valor da variável novoNome para a variável nome do bean.

Agora vamos falar do arquivo messages.properties, mas a explicação deste arquivo é um pouco extensa, e este post já está bem grande, então continuarei no proximo post!

PRÓXIMO PASSO (PARTE 3).

Nenhum comentário:

Postar um comentário