JSF + Facelet + Richfaces

Pessoal,

Gostaria de pedir uma ajuda para efetuar uma escolha

Projeto:
Estou em iniciando um projeto de grande porte que é um sistema on-line, ou seja, são vairas telas (abas) com varias funcionalidades como parte adm., cadastro e busca de dados no banco, compra e venda de produtos, relatorios e muito mais.

Eu sou programador java (profissional) a 2 anos e sempre trabalhei com struts e jsp, a 6 meses estou trabalhando com DWR e agora estou querendo iniciar um projeto com as seguintes tecnologias (todas na ultima versao):
JSF
Falecet
Richfaces

Gostaria de saber:
Elas trabalham bem juntas?
Caso eu troque o Richfaces ou Facelet por outro framework, seria melhor? (se sim qual?)
Tem mais algo que eu precise para melhorar o desempenho do sistema?

Muto obrigado pela ajuda,

Elas funcionam bem sim.

Dá sua listinha, eu também incluiria os componentes do tomahawk e talvez do Sandbox, mas isso depende muito da sua necessidade de componentes visuais.

Entao,

Como eu disse, não é uma simples pagina e sim um sistema online, acredito que vou utilizar muitos recursos visuais!
Eu estava vendo um pessoal falar do myfaces, porem pelo que pude ler ela funciona como o facelet a diferença seria que o facelet é especificado pela sun e o myfaces pela apache (correto?)
Entao, vc acredita que seja melhor utilizar realmente o facelet no lugar do myfaces… pois a maioria dos post é myfaces com richfaces!

Muito obrigado pela resposta!

Myfaces != Facelets.

O MyFaces é uma implementação da especificação JSF feito pela Apache.
A Sun possui também sua implementação chamada RI.

Facelets é outra coisa, basicamente é uma framework que te auxilia a criar templates para as paginas JSF (além de outras coisas mais).

Você pode usar sem problemas a especificação JSF da Sun (RI) + Tomahawk (componentes da Apache) + Richfaces (atualmente da JBoss) + Facelets.

Só fique atento em relação a compatibilidade.

Ninguém tem link’s de aplicações feitas utilizando essas tecnologias?

acho que seria interessante para quem ta buscando algo diferente!

abraços :stuck_out_tongue:

Pessoal eu trabalho com td isso que vcs falaram e mais.

vou dar algo de mão beijada para vcs.

dei uma olhada neste projeto do exadel.

o dVision.

baixem ele, e abrar o arquivo .WAR.

lah tem todos os jars necessarios. xml, faces-config- td configurado na pauma da mão.

segue em anexo.
http://www.exadel.com/web/portal/download

espero ter ajudado.

para quem está começando é excelente.

qualquer coisa estamos ae.
T+

Ae galera,

Muito obrigado pela ajuda, estava a 3 dias me matando para montar um ambiente e consegui!!!
Leandrokjava valew pelo link, vou estuda-lo melhor esse final de semana.

Concordo com vcs a documentação sobre esse conjunto de tecnologia é muito raro, os que tem tutorial geralmente utilizam versões antigas onde os xml não sao compativeis com as novas versões.

Para galera que esta precisando de uma ajuda simples… vai ai meu web.xml e faces-config.xml para dar uma clariada na galera… é bem simples! E até agora não implementei nada do meu projeto, estou fazendo teste com pedaços de cod. (testando as tags rich, h, f e a4j)… até o momento consegui testar todas. em anexo vai um e-mail!!!

“Por favor, quem perceber que tem algum erro, excesso ou falta de informações nos xml, avisar para que eu possa estar corrigindo na minha aplicação.”

web.xml

<?xml version="1.0"?>

<web-app 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"
	version="2.5">

	<display-name>Facelets Tutorial</display-name>
	<description>Number Guess Game</description>

	<context-param>
		<param-name>org.richfaces.SKIN</param-name>
		<param-value>blueSky</param-value>
	</context-param>

	<filter>
		<display-name>RichFaces Filter</display-name>
		<filter-name>richfaces</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>richfaces</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
	</filter-mapping>

	<listener>
		<listener-class>
			com.sun.faces.config.ConfigureListener
		</listener-class>
	</listener>
	
	<context-param>
		<param-name>facelets.REFRESH_PERIOD</param-name>
		<param-value>2</param-value>
	</context-param>

	<context-param>
		<param-name>facelets.DEVELOPMENT</param-name>
		<param-value>true</param-value>
	</context-param>

	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value>
	</context-param>

	<context-param>
		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
		<param-value>.xhtml</param-value>
	</context-param>

	<context-param>
		<param-name>com.sun.faces.validateXml</param-name>
		<param-value>true</param-value>
	</context-param>

	<context-param>
		<param-name>com.sun.faces.verifyObjects</param-name>
		<param-value>true</param-value>
	</context-param>

	<!-- Faces Servlet -->
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>


	<!-- Faces Servlet Mapping -->
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>

</web-app>

faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>

<faces-config 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-facesconfig_1_2.xsd"
	version="1.2">

	<!-- from project setup -->
	<application>
		<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
	</application>

	<!-- our NumberBean we created before -->
	<managed-bean>
		<managed-bean-name>NumberBean</managed-bean-name>
		<managed-bean-class>tutorial.NumberBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
		<managed-property>
			<property-name>min</property-name>
			<value>1</value>
		</managed-property>
		<managed-property>
			<property-name>max</property-name>
			<value>10</value>
		</managed-property>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>usuarioBean</managed-bean-name>
		<managed-bean-class>estudos.UsuarioBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
	<managed-bean>
		<managed-bean-name>bean</managed-bean-name>
		<managed-bean-class>demo.Bean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>text</property-name>
			<value />
		</managed-property>
	</managed-bean>

	<!-- going from guess.xhtml to response.xhtml -->
	<navigation-rule>
		<from-view-id>/guess.xhtml</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/response.xhtml</to-view-id>
		</navigation-case>
	</navigation-rule>

	<!-- going from response.xhtml to guess.xhtml -->
	<navigation-rule>
		<from-view-id>/response.xhtml</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/guess.xhtml</to-view-id>
		</navigation-case>
	</navigation-rule>

</faces-config>

Em falar nisso, quem souber pode me informar qual a diferença de “server” ou “client” no param-value.

	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value> OU <param-value>client</param-value>
	</context-param>

valew pessoal, e espero que tenha ajudado, caso alguem queira o fonte completo da um toque que eu mando!!! Só não estou anexando agora pq não tenho ele aqui! mas posso mandar depois… lembrando que é uma aplicação bem simples que só utiliza as tags para garantir que esta funcionando.

Para qm qr estudar o assunto eu recomendo dar uma olhada nos exemplos do link do leandro, pois devem estar muito mais completo.

Até +

Poderia mandar a listar dos jars???

pra mim também seria de grande importancia…estou tentando integrar esses frameworks mas nao estou conseguindo…