TDSI – JSF2 Visão Geral

Atualmente, o principal framework para desenvolvimento de aplicações web em Java é o JSF (Java Server Faces). O JSF é fortemente baseado nos padrões MVC e Front Controller.

MVC e Front Controller

O MVC (model-view-controller) é um padrão de arquitetura que tem por objetivo isolar a lógica de negócio da lógica de apresentação de uma aplicação.

Esse padrão (ou alguma variação) é amplamente adotado nas principais plataformas de desenvolvimento atuais. Em particular, ele é bastante utilizado na plataforma Java.

O padrão MVC divide uma aplicação em três tipos de componentes: modelo, visão e controlador.

Modelo: encapsula os dados e as funcionalidades da aplicação.

Visão: é responsável pela exibição de informações, cujos dados são obtidos do modelo.

Controlador: recebe as requisições do usuário e aciona o modelo e/ou a visão.

jsf2 – Fonte K19

Os managed beans são objetos fundamentais de uma aplicação JSF.

Suas principais tarefas são:

1. Fornecer dados que serão exibidos nas telas.
2. Receber os dados enviados nas requisições.
3. Executar tarefas de acordo com as ações dos usuários.

Criando uma aplicação Web

Clicar em Arquivo -> Novo Projeto  e escolher Java Web -> Aplicação Web

siga os passos das figuras a seguir:

Em FrameWorks escolher JavaServer Faces  e clicar em finalizar.

A seguinte estrutura foi criada

Para acessar pressionar F6.

Criando um Managed Bean 

Antes criar um pacote para colocar os beans gerenciados, no caso foi criado uma pacote chamado IFSUL

Criando um Managed Bean

Clicar em avançar e finalizar neste primeiro momento.

O primeiro contato com o JSF

Através do uso deumframework MVC, temos componentes específicos para realizar as tarefas da nossa aplicação. No caso do JSF 2, nossas telas serão escritas  em um arquivo XHTML utilizando Tags do próprio JSF. Dessa forma, podemos fazer um simples formulário de cadastro de automóvel da seguinte forma:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://xmlns.jcp.org/jsf/html">
 <h:head>
 <title>Facelet Title</title>
 </h:head>
 <h:body>
 <h:form>

 <h:panelGrid columns="2">
 <h:outputLabel value="Codigo: "/>
 <h:inputText value ="#{testeBean.codigo}"/>
 <h:outputLabel value ="Nome: "/>
 <h:inputText value ="#{testeBean.nome}"/>
 <h:outputLabel value ="Codigo e Nome: "/>
 <h:outputText value="#{testeBean.codigonome}"/>
 <h:commandButton value =" Adicionar " action="#{testeBean.processa}" />
 </h:panelGrid>

 </h:form>
 </h:body>
</html>

 Código fonte de um Managed Bean chamado TesteBean.java

package controle;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

@Named(value = "testeBean")
@RequestScoped
public class TesteBean {

 private Long codigo;
 private String nome;
 private String codigonome;

 public TesteBean() {
 }

 public Long getCodigo() {
 return codigo;
 }

 public void setCodigo(Long codigo) {
 this.codigo = codigo;
 }

 public String getNome() {
 return nome;
 }

 public String getCodigonome() {
 return codigonome;
 }

 public void setCodigonome(String codigonome) {
 this.codigonome = codigonome;
 }

 public void setNome(String nome) {
 this.nome = nome;
 }

 public void processa(){
 this.codigonome = this.codigo+" - "+ this.nome;
 }
}

Continua…

Esse post foi publicado em TDSI - Tópicos em Desenvolvimento de Sistemas de Informação I e III e marcado . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s