<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Edson Gonçalves &#187; AJAX</title>
	<atom:link href="http://www.edsongoncalves.com.br/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.edsongoncalves.com.br</link>
	<description>Tecnologia e Conhecimento ao Alcance de Todos</description>
	<lastBuildDate>Fri, 23 Sep 2011 00:49:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>O que estou fazendo no momento</title>
		<link>http://www.edsongoncalves.com.br/2011/09/22/o-que-estou-fazendo-no-momento/</link>
		<comments>http://www.edsongoncalves.com.br/2011/09/22/o-que-estou-fazendo-no-momento/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 00:46:49 +0000</pubDate>
		<dc:creator>Edson Gonçalves</dc:creator>
				<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[EclipseLink]]></category>
		<category><![CDATA[Java EE 6]]></category>
		<category><![CDATA[JPA 2.0]]></category>
		<category><![CDATA[JSF 2.0]]></category>
		<category><![CDATA[livro]]></category>
		<category><![CDATA[Livros]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[RichFaces]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.edsongoncalves.com.br/?p=540</guid>
		<description><![CDATA[Olá Pessoal, tudo bom? Como vão vocês? Sei que estou sumido do blog. Muitos leitores estão, nestes meses, me mandando comentários pedindo  a continuação de alguns artigos, de séries, que comecei e ainda não terminei. Quero informar a todos que, neste momento, estou renovando meus livros, por isso parei um pouco de postar no blog. [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal, tudo bom? Como vão vocês?</p>
<p>Sei que estou sumido do blog. Muitos leitores estão, nestes meses, me mandando comentários pedindo  a continuação de alguns artigos, de séries, que comecei e ainda não terminei. Quero informar a todos que, neste momento, estou renovando meus livros, por isso parei um pouco de postar no blog.</p>
<p>Muitas pessoas já sabem, outras nem fazem muita ideia, mas escrever toma muito tempo. Quem possui pouco tempo livre, como eu, no caso, é deixar os finais de semana com a família e  o descanso das noites, para nos dedicar a escrita.</p>
<p>Os escritores que sempre apoio em meu blog, até mesmo outros que desejarem aparecer no mural, só entrar em contato comigo. Sei o quanto é difícil divulgar um livro e ter um pouco de reconhecimento. Muita gente acha que ganhamos dinheiro com livros, que ficamos ricos, mas estou aqui para desmentir. Na área de informática, quem escreve é para ter o prazer de ajudar aqueles que estão com as mesmas dificuldades que, com certeza, passamos um dia.</p>
<p>Quero deixar aqui os meus sinceros agradecimentos a todos aqueles que postam comentários elogiando, criticando e pedindo mais tutoriais no blog. Para aqueles que não liberei os comentários, fiquem tranquilos que eu os li. Só não os liberei, muitas vezes, porque não tive tempo ou, por serem pedidos e perguntas relacionadas diretamente a mim, sobre o assunto, não me permiti o tempo necessário para responde-los.</p>
<p>Assim que terminar o meu primeiro objetivo, que é a completa reformulação e atualização, do livro &#8220;Desenvolvendo Aplicações Web com JSP, SERVLETS, JAVASERVER FACES, HIBERNATE, EJB 3 PERSISTENCE E AJAX&#8221;, voltarei a postar os diversos tutoriais, que já os tenho quase prontos, no blog.</p>
<p>Deixo aqui o espaço aberto, neste tópico, para que comentem o que acham interessante de estar neste livro que estou trabalhando. Já garanto que muitas criticas e pedidos, vindos de algumas centenas de leitores, não serão ignorados. Professores de universidades, faculdades e escolas técnicas do Brasil e alguns países de língua portuguesa, que também me procuraram para deixar seus pedidos e criticas, quero manter meu compromisso de que todos serão levados em consideração.</p>
<p>Agradeço a compreensão de todos.</p>
<p>Bons códigos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edsongoncalves.com.br/2011/09/22/o-que-estou-fazendo-no-momento/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Ajax com JSF 1.2 utilizando JBoss RichFaces</title>
		<link>http://www.edsongoncalves.com.br/2010/05/22/ajax-com-jsf-1-2-utilizando-jboss-richfaces/</link>
		<comments>http://www.edsongoncalves.com.br/2010/05/22/ajax-com-jsf-1-2-utilizando-jboss-richfaces/#comments</comments>
		<pubDate>Sat, 22 May 2010 04:49:57 +0000</pubDate>
		<dc:creator>Edson Gonçalves</dc:creator>
				<category><![CDATA[RichFaces]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Eclipse IDE]]></category>
		<category><![CDATA[Java EE 6]]></category>
		<category><![CDATA[JSF 1.2]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.edsongoncalves.com.br/?p=346</guid>
		<description><![CDATA[Olá Pessoal, tudo bom? Como vão vocês? Muitos leitores perguntam como usar o RichFaces para trabalhar com o framework JavaServer Faces 1.2. Este artigo ensina como configurar o RichFaces em sua aplicação JSF, criando um pequeno exemplo, já conhecido na Internet, para demonstrar seu funcionamento. O RichFaces O RichFaces é um conjunto de componentes JSF [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal, tudo bom? Como vão vocês?</p>
<p>Muitos leitores perguntam como usar o RichFaces para trabalhar com o framework JavaServer Faces 1.2.</p>
<p>Este artigo ensina como configurar o RichFaces em sua aplicação JSF, criando um pequeno exemplo, já conhecido na Internet, para demonstrar seu funcionamento.</p>
<h2>O RichFaces</h2>
<p>O RichFaces é um conjunto de componentes JSF ricos que estendem ou adicionam novos ao JSF padrão.</p>
<p>Sem necessitar de uma linha sequer de JavaScript, o RichFaces fornece componentes que possibilitam utilizar suas páginas sem que haja um reload padrão (quando submetemos uma página ou formulário ao servidor), o que chamamos de AJAX (Asynchronous JavaScript And XML).</p>
<p>Os componentes RichFaces são divididos em duas bibliotecas de tags:  a RichFaces, que fornece temas (skin)  e Ajax4jsf Component Development Kit (CDK).</p>
<h3>Obtendo e instalando o Eclipse IDE</h3>
<p>Para desenvolver aplicações Web usando a plataforma Eclipse, primeiramente você deverá ter o Eclipse em um ambiente voltado para o desenvolvimento Java EE. Para obter o Eclipse IDE, já configurado com o ambiente Web, vá ao endereço <a href="http://www.eclipse.org/downloads/"><strong>http://www.eclipse.org/downloads/</strong></a> e selecione o link <strong>Eclipse IDE for Java EE Developers</strong>.</p>
<p>Ao baixar, descompacte em um local desejado de sua máquina.</p>
<h3>O plug-in JBoss Tools</h3>
<p>Após a descompactação do Eclipse, execute-o para que possamos baixar o plug-in JBoss Tools, que auxiliará no desenvolvimento da aplicação. No Eclipse, vá ao menu <strong>Help&gt;Install New Software</strong>. Digite o endereço  <strong>http://download.jboss.org/jbosstools/updates/stable/galileo/</strong> em <strong>Work with </strong>e clique no botão <strong>Add</strong>. Digite <strong>JBoss Tools</strong> em <strong>Name</strong>, no diálogo que surgiu e confirme no botão <strong>OK</strong>.</p>
<p>Prossiga no assistente até baixar e instalar o plugin. Reinicie o Eclipse IDE no final da instalação.</p>
<h3>Baixando o RichFaces</h3>
<p>Todas as bibliotecas serão utilizadas como no projeto original, menos a do Apache Trinidad que será substituída.</p>
<p>Para baixar as bibliotecas do RichFaces, <a href="http://www.jboss.org/richfaces/download/milestones.html" target="_blank">clique aqui</a>.</p>
<p>A versão utilizada neste tutorial é a <strong>RichFaces 3.3.3</strong>. Entretanto, versões mais recentes poderão ser usadas, desde que compatíveis com o framework JSF 1.2.</p>
<p>Baixe a versão  <strong>Stable Builds</strong>, por ser considerada a estável para produção.</p>
<div id="attachment_347" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-11.jpg" rel="lightbox[346]"><img class="size-medium wp-image-347" title="Figura 1" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-11-300x108.jpg" alt="Figura 1 – Página de download do RichFaces" width="300" height="108" /></a><p class="wp-caption-text">Figura 1 – Página de download do RichFaces</p></div>
<h3>O Servidor Java</h3>
<p>Para este artigo, vamos utilizar o Tomcat 6.0.x.</p>
<h3>As bibliotecas</h3>
<p>Para trabalhar com o JavaServer Faces, primeiramente será preciso configurar os arquivos e a estrutura necessária.</p>
<p>Alguns servidores, assim como o contêiner Servlet Tomcat 6, por padrão, não possuem suporte direto ao JavaServer Faces, ou seja, não contém as bibliotecas necessárias para o desenvolvimento com o mesmo.</p>
<p>Caso queira</p>
<p>Para baixar o JSF, faça download no endereço<strong> </strong><a href="https://javaserverfaces.dev.java.net/"><strong>https://javaserverfaces.dev.java.net/</strong></a>, ou diretamente, <a href="https://javaserverfaces.dev.java.net/files/documents/1866/146226/mojarra-1.2_14-binary.zip"><strong>clicando aqui</strong></a>. Ao baixar o arquivo, simplesmente desempacote em um diretório de sua escolha.</p>
<h4>JavaServer Faces rodando em seu aplicativo Web</h4>
<p>Para ter o JavaServer Faces 1.2 em sua aplicação, você possui dois arquivos do tipo JAR:</p>
<ol>
<li><strong>jsf-api.jar</strong></li>
<li><strong>jsf-impl.jar</strong></li>
</ol>
<p><strong> </strong></p>
<h4>As bibliotecas JSTL</h4>
<p>Adicionadas por padrão pelo JBoss Tools, quando criado um projeto, com dois arquivos JARs:</p>
<ol>
<li><strong>jstl.jar</strong></li>
<li><strong>standard.jar</strong></li>
</ol>
<p>Os arquivos JSTL estão no endereço  <a href="http://www.apache.org/dist/jakarta/taglibs/standard/binaries/"><strong>http://www.apache.org/dist/jakarta/taglibs/standard/binaries/</strong></a>, caso tenha interesse em saber onde encontrar.</p>
<p><strong> </strong></p>
<p>Para torná-los disponíveis em sua aplicação é simples, basta colocar esses arquivos listados no diretório <strong>lib</strong>, encontrado em WEB-INF de sua aplicação Web.</p>
<p>Porém, como vamos utilizar um ambiente de trabalho baseado no Eclipse IDE, será mais fácil essa configuração.</p>
<h4>As bibliotecas RichFaces</h4>
<p>Ao baixar e descompactar, dentro do diretório <strong>lib</strong>, encontrado na descompactação, temos estes três arquivos:</p>
<ul>
<li><strong>richfaces-api-3.3.3.Final.jar</strong></li>
<li><strong>richfaces-impl-3.3.3.Final.jar</strong></li>
<li><strong>richfaces-ui-3.3.3.Final.jar</strong></li>
</ul>
<h3>Criando o projeto</h3>
<p>Crie um novo projeto indo ao menu <strong>File&gt;New&gt;Project</strong>. Na caixa de diálogo <strong>New</strong>, selecione <strong>JBoss Tools Web&gt;JSF&gt;JSF Project</strong>. Clique no botão <strong>Next</strong>.</p>
<div id="attachment_348" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-21.jpg" rel="lightbox[346]"><img class="size-medium wp-image-348" title="Figura 2" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-21-300x232.jpg" alt="Figura 2 – Diálogo New Project com JSF Project selecionado" width="300" height="232" /></a><p class="wp-caption-text">Figura 2 – Diálogo New Project com JSF Project selecionado</p></div>
<p>Na segunda etapa, digite o nome do projeto, em <strong>Project Name</strong> e continue com <strong>Next</strong>.</p>
<div id="attachment_349" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-31.jpg" rel="lightbox[346]"><img class="size-medium wp-image-349" title="Figura 3" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-31-300x215.jpg" alt="Figura 3 – Segunda etapa com o nome do projeto " width="300" height="215" /></a><p class="wp-caption-text">Figura 3 – Segunda etapa com o nome do projeto </p></div>
<p>Na terceira etapa, selecione em <strong>New</strong> o servidor de aplicações Java que vamos utilizar. No caso, selecionaremos o Tomcat.</p>
<div id="attachment_350" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-4.jpg" rel="lightbox[346]"><img class="size-medium wp-image-350" title="Figura 4" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-4-300x215.jpg" alt="Figura 4 – Selecionando um novo servidor para rodar a aplicação" width="300" height="215" /></a><p class="wp-caption-text">Figura 4 – Selecionando um novo servidor para rodar a aplicação</p></div>
<div id="attachment_351" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-5.jpg" rel="lightbox[346]"><img class="size-medium wp-image-351" title="Figura 5" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-5-300x281.jpg" alt="Figura 5 – Seleção do Apache Tomcat 6.0" width="300" height="281" /></a><p class="wp-caption-text">Figura 5 – Seleção do Apache Tomcat 6.0</p></div>
<p>Na configuração do servidor de aplicativos Apache Tomcat, caso você não tenha ainda baixado e instalado, pode clicar no botão <strong>Download and Install</strong>. Termine o diálogo clicando no botão <strong>Finish</strong>.</p>
<div id="attachment_352" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-6.jpg" rel="lightbox[346]"><img class="size-medium wp-image-352" title="Figura 6" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-6-300x281.jpg" alt="Figura 6 – Local da instalação do Apache Tomcat" width="300" height="281" /></a><p class="wp-caption-text">Figura 6 – Local da instalação do Apache Tomcat</p></div>
<p>Termine o projeto, agora que já possuímos o Tomcat configurado, clicando no botão <strong>Finish</strong>.</p>
<div id="attachment_353" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-7.jpg" rel="lightbox[346]"><img class="size-medium wp-image-353" title="Figura 7" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-7-300x215.jpg" alt="Figura 7 – Servidor Tomcat configurado no projeto" width="300" height="215" /></a><p class="wp-caption-text">Figura 7 – Servidor Tomcat configurado no projeto</p></div>
<p>Como estamos usando o JBoss Tools, na finalização do projeto, o Eclipse lançará uma mensagem perguntando se desejamos mudar de perspectiva. Diga que sim, clicando em <strong>Yes</strong>.</p>
<div id="attachment_354" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-8.jpg" rel="lightbox[346]"><img class="size-medium wp-image-354" title="Figura 8" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-8-300x97.jpg" alt="Figura 8 – Pedido de alteração de perspectiva " width="300" height="97" /></a><p class="wp-caption-text">Figura 8 – Pedido de alteração de perspectiva </p></div>
<p>O Eclipse alterará de perspectiva, colocando na <strong>Web Development</strong>, onde temos outras views na lateral esquerda.</p>
<p>Observe na view <strong>Package Explorer</strong> o projeto com seus arquivos e bibliotecas adicionadas.</p>
<div id="attachment_355" class="wp-caption alignnone" style="width: 236px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-9.jpg" rel="lightbox[346]"><img class="size-medium wp-image-355" title="Figura 9" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-9-226x300.jpg" alt="Figura 9 – Projeto criado" width="226" height="300" /></a><p class="wp-caption-text">Figura 9 – Projeto criado</p></div>
<p><strong>Observação:</strong> Um detalhe importante neste formato de projeto é que, diferente de uma aplicação Web criada pelo plugin WTP do Eclipse, é que as bibliotecas no plugin JBoss Tools ficarão em <strong>lib</strong>.</p>
<h3>Importando as bibliotecas</h3>
<p>Vamos agora importar as bibliotecas do projeto. Clique com o direito do mouse sobre o diretório <strong>lib</strong>, na view <strong>Package Explorer</strong> e selecione, no menu de contexto, o item <strong>Import</strong>.</p>
<div id="attachment_356" class="wp-caption alignnone" style="width: 274px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-10.jpg" rel="lightbox[346]"><img class="size-medium wp-image-356" title="Figura 10" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-10-264x300.jpg" alt="Figura 10 – Seleção do Import no menu de contexto" width="264" height="300" /></a><p class="wp-caption-text">Figura 10 – Seleção do Import no menu de contexto</p></div>
<p>Na caixa de diálogo <strong>Import</strong>, selecione <strong>General&gt;File System</strong> e clique no botão <strong>Next</strong>.</p>
<div id="attachment_357" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-111.jpg" rel="lightbox[346]"><img class="size-medium wp-image-357" title="Figura 11" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-111-300x220.jpg" alt="Figura 11 – Caixa de diálogo Import com General&gt;File System selecionado" width="300" height="220" /></a><p class="wp-caption-text">Figura 11 – Caixa de diálogo Import com General&gt;File System selecionado</p></div>
<p>Na segunda etapa da importação, selecione no botão <strong>Browse</strong> o local onde se encontram os arquivos do <strong>RichFaces</strong> (as bibliotecas). Selecione somente as listadas anteriormente neste artigo e confirme no botão <strong>Finish</strong>.</p>
<div id="attachment_358" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-12.jpg" rel="lightbox[346]"><img class="size-medium wp-image-358" title="Figura 12" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-12-300x256.jpg" alt="Figura 12 – Selecionando as bibliotecas do RichFaces para importação no diretório lib" width="300" height="256" /></a><p class="wp-caption-text">Figura 12 – Selecionando as bibliotecas do RichFaces para importação no diretório lib</p></div>
<p>Repita o mesmo processo, importando novos arquivos para o diretório <strong>lib</strong> do projeto, só que desta vez, adicionando as bibliotecas do JavaServer Faces 1.2.</p>
<div id="attachment_359" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-13.jpg" rel="lightbox[346]"><img class="size-medium wp-image-359" title="Figura 13" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-13-300x243.jpg" alt="Figura 13 – Seleção das bibliotecas JSF para importação no diretório lib" width="300" height="243" /></a><p class="wp-caption-text">Figura 13 – Seleção das bibliotecas JSF para importação no diretório lib</p></div>
<p>No final, veremos as bibliotecas importadas no projeto, junto as existentes desde sua criação, como mostra a <strong>Figura 14</strong>.</p>
<div id="attachment_360" class="wp-caption alignnone" style="width: 231px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-14.jpg" rel="lightbox[346]"><img class="size-medium wp-image-360" title="Figura 14" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-14-221x300.jpg" alt="Figura 14 – Bibliotecas existentes no projeto" width="221" height="300" /></a><p class="wp-caption-text">Figura 14 – Bibliotecas existentes no projeto</p></div>
<h3>Configurando o RichFaces no deployment descriptor</h3>
<p>No arquivo <strong>web.xml</strong> adicione as configurações necessárias para termos o JBoss RichFaces, como mostra a <strong>Listagem 1 </strong> a seguir:</p>
<p><strong>Listagem 1 – O arquivo web.xml com o RichFaces configurado</strong></p>
<pre class="brush:xml">&lt;?xml version="1.0"?&gt;

&lt;web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;

&lt;display-name&gt;ProjUtilizandoRichFaces&lt;/display-name&gt;

&lt;!-- Configuração do RichFaces --&gt;

&lt;context-param&gt;

&lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;

&lt;param-value&gt;blueSky&lt;/param-value&gt;

&lt;/context-param&gt;

&lt;filter&gt;

&lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;

&lt;filter-name&gt;richfaces&lt;/filter-name&gt;

&lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;

&lt;/filter&gt;

&lt;filter-mapping&gt;

&lt;filter-name&gt;richfaces&lt;/filter-name&gt;

&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;

&lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;

&lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;

&lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;

&lt;/filter-mapping&gt;

&lt;listener&gt;

&lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;

&lt;/listener&gt;

&lt;!-- Faces Servlet --&gt;

&lt;servlet&gt;

&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;

&lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;

&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;

&lt;/servlet&gt;

&lt;!-- Faces Servlet Mapping --&gt;

&lt;servlet-mapping&gt;

&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;

&lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;

&lt;/servlet-mapping&gt;

&lt;login-config&gt;

&lt;auth-method&gt;BASIC&lt;/auth-method&gt;

&lt;/login-config&gt;

&lt;/web-app&gt;
</pre>
<p>O RichFaces possui um template padrão para seus componentes. A configuração deste template é feita no <strong>web.xml</strong>, através dos seguintes elementos:</p>
<pre class="brush:xml">&lt;context-param&gt;
&lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;
&lt;param-value&gt;blueSky&lt;/param-value&gt;
&lt;/context-param&gt;</pre>
<p>Os temas existentes até o momento são:</p>
<ul>
<li>DEFAULT</li>
<li>plain</li>
<li>emeraldTown</li>
<li>blueSky</li>
<li>wine</li>
<li>japanCherry</li>
<li>ruby</li>
<li>classic</li>
<li>deepMarine</li>
<li>NULL</li>
<li>laguna</li>
<li>darkX</li>
<li>glassX</li>
</ul>
<p>Para funcionar os componentes RichFaces e Ajax4fjsf, incluímos o filtro <strong>org.ajax4jsf.Filter</strong>, com os seguintes elementos:</p>
<pre class="brush:xml">&lt;filter&gt;
&lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;
&lt;filter-name&gt;richfaces&lt;/filter-name&gt;
&lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;
&lt;/filter&gt;
&lt;filter-mapping&gt;
&lt;filter-name&gt;richfaces&lt;/filter-name&gt;
&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
&lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;
&lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;
&lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;
&lt;/filter-mapping&gt;</pre>
<h3>Criando o JavaBean Texto</h3>
<p>Com o direito do mouse sobre o projeto, selecione <strong>New&gt;Class</strong> no menu de contexto.</p>
<p>Na caixa de diálogo <strong>New Java Class</strong>, preencha o pacote (<strong>br.com.integrator</strong>) e o nome da classe, no caso <strong>Texto</strong>, em <strong>Name</strong>. Confirme no botão <strong>Finish</strong>.</p>
<div id="attachment_361" class="wp-caption alignnone" style="width: 266px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-18.jpg" rel="lightbox[346]"><img class="size-medium wp-image-361" title="Figura 18" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-18-256x300.jpg" alt="Figura 15 – A classe Texto" width="256" height="300" /></a><p class="wp-caption-text">Figura 15 – A classe Texto</p></div>
<p>Altere a classe <strong>Texto</strong> conforme mostrado na <strong>Listagem 2</strong>.</p>
<p><strong>Listagem 2 – O JavaBean Texto</strong></p>
<pre class="brush:java">package br.com.integrator;

public class Texto {

private String texto;

public String getTexto() {
return texto;
}

public void setTexto(String texto) {
this.texto = texto;
}
}</pre>
<h3>Configurando o Managed Bean</h3>
<p>Abra o arquivo <strong>faces-config.xml</strong>, e clique na aba inferior <strong>Tree</strong>. Em <strong>Faces Config Editor</strong>, clique no item <strong>Managed Beans</strong>. Na lateral direita, clique em <strong>Add</strong>, como mostra a <strong>Figura 16</strong>.</p>
<div id="attachment_362" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-19.jpg" rel="lightbox[346]"><img class="size-medium wp-image-362" title="Figura 19" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-19-300x132.jpg" alt="Figura 16 – Configurando um Managed Bean no arquivo faces-config.xml" width="300" height="132" /></a><p class="wp-caption-text">Figura 16 – Configurando um Managed Bean no arquivo faces-config.xml</p></div>
<p>Na caixa de diálogo <strong>New Managed Bean</strong>, mantenha <strong>Scope </strong>como <strong>request</strong>. Em <strong>Class</strong>, clique em <strong>Browse</strong> e selecione a classe <strong>br.com.integrator.Texto</strong>. Digite o nome, em <strong>Name</strong>, do Managed Bean de <strong>textoBean</strong>. Confirme em <strong>Finish</strong>.</p>
<div id="attachment_363" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-20.jpg" rel="lightbox[346]"><img class="size-medium wp-image-363" title="Figura 20" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-20-300x227.jpg" alt="Figura 17 – Configurando o Managed Bean textoBean" width="300" height="227" /></a><p class="wp-caption-text">Figura 17 – Configurando o Managed Bean textoBean</p></div>
<p>Se clicarmos em <strong>Source</strong>, veremos que a ferramenta configurou visualmente o XML de <strong>faces-config.xml</strong> como na <strong>Listagem 3</strong>.</p>
<p><strong>Listagem 3 – O managed bean textoBean adicionado ao faces-config.xml</strong></p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"&gt;

&lt;managed-bean&gt;
&lt;managed-bean-name&gt;textoBean&lt;/managed-bean-name&gt;
&lt;managed-bean-class&gt;br.com.integrator.Texto&lt;/managed-bean-class&gt;
&lt;managed-bean-scope&gt;request&lt;/managed-bean-scope&gt;
&lt;/managed-bean&gt;

&lt;/faces-config&gt;</pre>
<div id="attachment_364" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-211.jpg" rel="lightbox[346]"><img class="size-medium wp-image-364" title="Figura 21" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-211-300x122.jpg" alt="Figura 18 – O arquivo faces-config.xml com o managed bean textoBean configurado" width="300" height="122" /></a><p class="wp-caption-text">Figura 18 – O arquivo faces-config.xml com o managed bean textoBean configurado</p></div>
<h3>Criando a página JSF com suporte ao RichFaces</h3>
<p>Mude agora para a view <strong>Web Projects</strong>, que está ao lado de <strong>Package Explorer</strong>.</p>
<div id="attachment_365" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-15.jpg" rel="lightbox[346]"><img class="size-medium wp-image-365" title="Figura 15" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-15-300x206.jpg" alt="Figura 19 – A view Web Projects" width="300" height="206" /></a><p class="wp-caption-text">Figura 19 – A view Web Projects</p></div>
<p>Com o direito do mouse sobre <strong>WebContent</strong>, vá no menu de contexto em <strong>New&gt;File&gt;JSP</strong>. No diálogo <strong>New File JSP</strong>, dê o nome no arquivo de <strong>richfaces</strong>, selecione <strong>JSFBasePage</strong> em <strong>Template</strong> e prossiga no assistente, clicando em <strong>Next</strong>.</p>
<div id="attachment_366" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-16.jpg" rel="lightbox[346]"><img class="size-medium wp-image-366" title="Figura 16" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-16-300x238.jpg" alt="Figura 20 – Criando uma página JSF" width="300" height="238" /></a><p class="wp-caption-text">Figura 20 – Criando uma página JSF</p></div>
<p>Na última etapa de criação da página, marque as tag libraries: <strong>JBoss Ajax4jsf</strong>, <strong>JBoss RichFaces</strong>, <strong>JSF Core</strong> e <strong>JSF HTML</strong>. Finalize no botão <strong>Finish</strong>.</p>
<div id="attachment_367" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-17.jpg" rel="lightbox[346]"><img class="size-medium wp-image-367" title="Figura 17" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-17-300x263.jpg" alt="Figura 21 – Seleção das taglibs da página" width="300" height="263" /></a><p class="wp-caption-text">Figura 21 – Seleção das taglibs da página</p></div>
<p>Com a página <strong>richfaces.jsp</strong> criada e aberta no editor, altere-a deixando exatamente como mostrado na <strong>Listagem 4 </strong> a seguir:</p>
<p><strong>Listagem 4 – A página richfaces.jsp completa</strong></p>
<pre class="brush:html">&lt;%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %&gt;
&lt;%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %&gt;
&lt;%@ taglib uri="http://richfaces.org/rich" prefix="rich" %&gt;
&lt;%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Minha Primeira Página com JBoss RichFaces&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;f:view&gt;
&lt;h:form&gt;

Digite seu texto aqui:
&lt;h:inputText id="texto" value="#{textoBean.texto}"&gt;
&lt;a4j:support event="onkeyup" reRender="resultado"/&gt;
&lt;/h:inputText&gt;
&lt;br /&gt;
Resultado:
&lt;strong&gt;
&lt;h:outputLabel id="resultado" value="#{textoBean.texto}" /&gt;
&lt;/strong&gt;

&lt;/h:form&gt;
&lt;/f:view&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<div id="attachment_368" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-22.jpg" rel="lightbox[346]"><img class="size-medium wp-image-368" title="Figura 22" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-22-300x222.jpg" alt="Figura 22 – Página richfaces.jsp no editor visual e de códigos do JBoss Tools" width="300" height="222" /></a><p class="wp-caption-text">Figura 22 – Página richfaces.jsp no editor visual e de códigos do JBoss Tools</p></div>
<p>Observe que o editor de códigos do JBoss Tools deverá reconhecer o Managed Bean.</p>
<div id="attachment_369" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-24.jpg" rel="lightbox[346]"><img class="size-medium wp-image-369" title="Figura 24" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-24-300x68.jpg" alt="Figura 23 – Reconhecimento do Managed Bean pelo editor de códigos" width="300" height="68" /></a><p class="wp-caption-text">Figura 23 – Reconhecimento do Managed Bean pelo editor de códigos</p></div>
<p>Por fim, execute a página indo ao meu <strong>Run&gt; Run As&gt;Run on Server</strong>. Na caixa de diálogo, deixe o Tomcat como escolha para executar o projeto e clique no botão <strong>Next</strong>.</p>
<div id="attachment_370" class="wp-caption alignnone" style="width: 292px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-25.jpg" rel="lightbox[346]"><img class="size-medium wp-image-370" title="Figura 25" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-25-282x300.jpg" alt="Figura 24 – Selecionando o servidor Java para executar o projeto" width="282" height="300" /></a><p class="wp-caption-text">Figura 24 – Selecionando o servidor Java para executar o projeto</p></div>
<p>Adicione em <strong>Configured </strong>o projeto e clique no botão <strong>Finish</strong>. Neste momento o Apache Tomcat iniciará, executando a página JSF contendo o AJAX do RichFaces.</p>
<div id="attachment_371" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-26.jpg" rel="lightbox[346]"><img class="size-medium wp-image-371" title="Figura 26" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-26-300x293.jpg" alt="Figura 25 – Finalizando o assistente para executar o projeto no Apache Tomcat" width="300" height="293" /></a><p class="wp-caption-text">Figura 25 – Finalizando o assistente para executar o projeto no Apache Tomcat</p></div>
<p>O aplicativo é de simples compreensão. Simplesmente o texto digitado no campo de texto é enviado ao servidor, levado ao Managed Bean textoBean, representado pela classe Texto, cujo é retornado ao label abaixo, em <strong>Resultado</strong>. Em uma página JSF comum, teríamos que submeter a página para termos tal resultado. Como estamos usando AJAX, o texto vai sendo digitado e enviado a cada nova letra para o servidor e retornada a página sem um reload no browser.</p>
<div id="attachment_372" class="wp-caption alignnone" style="width: 310px"><a href="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-23.jpg" rel="lightbox[346]"><img class="size-medium wp-image-372" title="Figura 23" src="http://www.edsongoncalves.com.br/wp-content/uploads/2010/05/Figura-23-300x88.jpg" alt="Figura 26 – A página executada" width="300" height="88" /></a><p class="wp-caption-text">Figura 26 – A página executada</p></div>
<p>Este envio ao servidor sem reload na página e o retorno é feito graças ao Ajax4jsf, pela tag &lt;a4j:support /&gt;:</p>
<p>&lt;h:inputText id=<em>&#8220;texto&#8221;</em> value=&#8221;#{textoBean.texto}&#8221;&gt;</p>
<p><strong> </strong><strong>&lt;a4j:support event=&#8221;onkeyup&#8221; reRender=&#8221;resultado&#8221;/&gt;</strong></p>
<p>&lt;/h:inputText&gt;</p>
<p>Esta tag trabalha com o evento JavaScript onkeyup, que chama o servidor e renderiza o resultado onde o atributo reRender estiver apontando. Observe que esta tag está dentro da tag JSF &lt;h:inputText/&gt;, que é exatamente onde ela trabalhará para receber o evento e se comunicar com o servidor, transmitindo as informações nela contidas.</p>
<p><strong>No próximo artigo </strong></p>
<p>No próximo artigo sobre RichFaces, vamos ver como trabalhar com Upload de arquivos, cuja dúvida é muito comum nesta biblioteca.</p>
<p>Até o próximo artigo pessoALL.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.edsongoncalves.com.br/2010/05/22/ajax-com-jsf-1-2-utilizando-jboss-richfaces/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

