JSF – Faces Managed Bean – Java

Publicado: 13 de janeiro de 2015 em Java

Um Managed Bean é implementado por uma classe Java, que é chamada de classe Bean. A classe de nível superior Java é um Bean gerenciado se ele é definido como sendo um Bean gerenciado por qualquer outra especificação de tecnologia Java EE, como a especificação da tecnologia JavaServer Faces, ou se ele atende todas as seguintes condições:

  • Não ser uma classe interna não estática.
  • Ser uma classe concreta ou ser anotada @Decorator.
  • Não ser anotado com uma anotação de definição de componente EJB ou declarada como uma classe de Bean EJB no ejb-jar.xml.
  • Ter um construtor apropriado, a classe deve ter um construtor sem parâmetros ou a classe deve declarar um construtor anotado @Inject.

Uma típica aplicação JavaServer Faces inclui um ou mais Managed Beans, cada um dos quais podem estar associados com os componentes utilizados em uma página particular. Para saber o alcance do escopo de um Managed Bean utilize o link abaixo:

Escopo: JavaServer Faces Managed Bean

Usando um Faces Managed Bean

1 – Crie um novo projeto web dinâmico com a configuração JavaServer Faces utilizando a biblioteca Mojarra da Oracle. Utilize o código abaixo para criar o Managed  Bean e a página principal da sua aplicação. Você pode perceber a cada nova tag que insere no código html, que você conta com as facilidades do JSF para criar sua interface com o usuário de um modo simples e intuitivo:

JSF - Index.xhtml

JSF – Index.xhtml

2 – Rode a aplicação no servidor de aplicação de sua preferencia. Preencha seu nome no campo de texto e clique no botão, assim que o botão é disparado o conteúdo do campo de texto é associado ao Setter do Managed Bean e resgatado através do Getter do método de ação ligado ao botão imprimindo o resultado da ação no console do Eclipse:

JSF - Managed Bean - Console

JSF – Managed Bean – Console

Exemplo:

Neste exemplo utilizamos de modo mais simples o Managed Bean de uma aplicação JSF para exibir os dados entrados pelo usuário através de uma pagina da web.

Java

Managed Bean – Participante

package org.desenvolvimento.aberto;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

// Define decoradores
@ManagedBean(name = "Participante")
@RequestScoped
public class Participante {

	// Define atributos privados
	private long id;
	private String nome;

	// Metodos Getter e Setter
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}

   public String Acao() {
	   System.out.println("Clique do botão");
	   System.out.println("Nome: " + this.getNome());
	   return null;
   }
}

JSF – index.xhtml

<!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:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">

<f:loadBundle basename="resources.application" var="msg" />

<head>
<title><h:outputText value="#{msg.welcomeTitle}" /></title>
</head>

<h:body>
	<h2>JSF - Desenvolvimento Aberto - Managed Beans</h2>
	<h3>
		<h:outputText id="lnome" value="Digite o seu nome:" />
	</h3>
	<h:form>
		<h:messages style="color:red" />
		<h:panelGrid columns="3">
			<h:outputText id="lnome" value="Nome:" />
			<h:inputText id="tnome" value="#{Participante.nome}" required="true" />
			<h:commandButton id="botao" action="#{Participante.Acao}"
				value="Enviar Dados" />
		</h:panelGrid>
	</h:form>
</h:body>
</html>

 

Anúncios

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