RichFaces + IceFaces

7 respostas
J

Olá Pessoal,

É possível integrar em um único projeto esse dois frameworks (RichFaces + IceFaces).

Se a resposta for sim, você tem alguma idéia de como. Pois, já dei um pesquisa na net

e não existe algo que tenha a solução, pelo contrário, existem posts dizendo que não é possível.

Eu tentei colocar o filtro do RichFaces no web.xml que já contém a configuação do

IceFaces e exibe o seguinte erro:

15:27:48,921 INFO  [SchemaExport] schema export complete
15:27:48,984 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
15:27:48,984 WARN  [SessionFactoryImpl] JTASessionContext being used with JDBCTransactionFactory; auto-flush will not operate correctly with getCurrentSession()
15:27:49,000 INFO  [Contexts] starting up: org.jboss.seam.security.facesSecurityEvents
15:27:49,000 INFO  [Initialization] done initializing Seam
15:27:49,187 INFO  [CacheManager] Selected [org.ajax4jsf.cache.LRUMapCacheFactory] cache factory
15:27:49,203 INFO  [LRUMapCacheFactory] Creating LRUMap cache instance using parameters: {com.icesoft.faces.doJSFStateManagement=true, com.icesoft.faces.actionURLSuffix=.seam, org.jboss.seam.core.init.debug=true, facelets.DEVELOPMENT=true, com.icesoft.faces.uploadDirectory=/, com.icesoft.faces.gmapKey=ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A, com.icesoft.faces.standardRequestScope=true, com.sun.faces.injectionProvider=org.jboss.web.jsf.integration.injection.JBossInjectionProvider, com.icesoft.faces.synchronousUpdate=false, javax.faces.STATE_SAVING_METHOD=server, javax.faces.DEFAULT_SUFFIX=.jspx}
15:27:49,203 INFO  [LRUMapCacheFactory] Creating LRUMap cache instance of default capacity
15:27:49,296 ERROR [[/seam-comp-showcase]] Exception starting filter richfaces
java.lang.IllegalStateException: Filter mapping for chameleon filter richfaces do not contain wilcard prefix or suffix
	at org.ajax4jsf.webapp.WebXml.setFilterName(WebXml.java:421)
	at org.ajax4jsf.webapp.WebXml.init(WebXml.java:171)
	at org.ajax4jsf.resource.InternetResourceService.init(InternetResourceService.java:133)
	at org.ajax4jsf.webapp.BaseFilter.init(BaseFilter.java:148)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3722)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4367)

Ateh

7 Respostas

Luiz_Aguiar

Por que vc precisaria dos dois ao mesmo?

Ja deu uma pesquisada sobre o erro específico que esta dando?
# ERROR [[/seam-comp-showcase]] Exception starting filter richfaces  
# java.lang.IllegalStateException: Filter mapping for chameleon filter richfaces do not contain wilcard prefix or suffix
J

Oi Luiz,

Na verdade toda a aplicação é com componentes do RichFaces, porém

existe um componente, em especial, do IceFaces que encapsula o FCKeditor

chamado de : inputRichText, que será útil no projeto.

E, aliás eu já procurei sim o erro no Google, o retorno foi insatisfatório.

Brigada.

Luiz_Aguiar

Pelo que consta na página do Richfaces, ele não se integra com o IceFaces.

http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/TechnicalRequirements.html

J

Brigada Luiz,

Mas, eu já consegui fazer o que queria, configurei em um único web.xml

tanto o RichFaces como o Icefaces e coloquei em um mesma página tanto

o componente do FCKeditor como um componente do RichFaces.

Agora tenho que trabalhar na comunicação com o bean. Cada componente

separadamente.

Ateh

D

Ola java++. Quando descobrir a solucao posta pra nós tambem. Tambem estou tentando usar os dois. E talvez mais algum. rs Vlw :smiley:

D

Parece q a integracao é impossivel mesmo. :x Richfaces usa o Ajax4JSF e o ICEfaces realiza o render através de JSP. Segundo o pessoal da propria ICEfaces uma maneira de usar componentes de outra biblioteca com ICEfaces é usar um iframe dentro de uma pagina icefaces e apontar o iframe a outro Servlet/ViewHandler. Infelizmente.
Mas se ainda conseguir uma solucao coloque pra nós vermos. Abracos.

knik

Não precisa do icefaces.

Faça assim:

Baixe o FckFaces em http://sourceforge.net/projects/fck-faces.

Coloque o jar fck-faces-2.6b.jar (vem junto com o download) dentro da pasta lib.
Coloque o arquivo fckconfig.js (vem junto com o download) dentro de uma pasta javascript, em seu contexto web.

Adicione as seguintes linhas no web.xml:

<servlet> <servlet-name>FCKFaces</servlet-name> <servlet-class>org.fckfaces.util.Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>FCKFaces</servlet-name> <url-pattern>/fckfaces/*</url-pattern> </servlet-mapping> <context-param> <param-name>org.fckfaces.CUSTOM_CONFIGURATIONS_PATH</param-name> <param-value>/javascript/fckconfig.js</param-value> </context-param>

Na jsp, aponte o seu arquivo fckconfig.js (isto você já sabe…), em seguida, adicione as seguintes linhas nela:

<fck:editor id="fckEditor" toolbarSet="Default"/>

Ah… não se esqueça de adicionar a taglib do fckfaces:

Ou, se estiver usando facelets…

Após isto, seu FckFaces vai funcionar na hora!!!
E você ainda poderá customizar o arquivo fckconfig.js, deixando o componente do seu jeito.

Boa sorte!

Criado 16 de abril de 2008
Ultima resposta 5 de ago. de 2008
Respostas 7
Participantes 4