-
1. Re: rich:dataTable doesn't work after migration to RF4
snjv180 Aug 14, 2012 4:09 AM (in response to strannik)There must be something wrong with your tag library. Have you checked if you have rendered correctly. Which server are you using. Please post your web.xml. In the mean time this is one of the examples I tried, Hope this helps you. and please have a look at the response from firebug.
-
TableTest.zip 7.1 MB
-
-
2. Re: rich:dataTable doesn't work after migration to RF4
strannik Aug 14, 2012 7:45 AM (in response to snjv180)Sanjeev, thank you for the hint.
Your sample is rather straightforward. I also use Spring rather intensively. I've already downloaded and installed showcase example.
My guess is that something is wrong with my configuration. Please see below my web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
<description>Web-based system</description>
<display-name>Management system</display-name>
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/main-service.xml
</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>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
<param-value>1</param-value>
</context-param>
<!-- - Location of the Log4J config file, for initialization and refresh
checks. - Applied by Log4jConfigListener. -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.COMPRESS_STYLE</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<!-- - Key of the system property that should specify the root directory
of this - web app. Applied by WebAppRootListener or Log4jConfigListener. -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>main.root</param-value>
</context-param>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter>
<filter-name>charEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>charEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<!-- Serves static resource content from .jar files such as spring-faces.jar -->
<servlet>
<servlet-name>Resources Servlet</servlet-name>
<servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Dispatcher Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value/>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resources Servlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Dispatcher Servlet</servlet-name>
<url-pattern>/site/*</url-pattern>
</servlet-mapping>
<!-- Faces Servlet Mapping -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
-
3. Re: rich:dataTable doesn't work after migration to RF4
snjv180 Aug 14, 2012 10:16 AM (in response to strannik)1 of 1 people found this helpfulFirstly upgrade your web.xml servlet version
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
This is deprecated
<context-param>
<param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.COMPRESS_STYLE</param-name>
<param-value>false</param-value>
</context-param>
It is used as
<context-param>
<param-name>org.richfaces.enableControlSkinning</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.enableControlSkinningClasses</param-name>
<param-value>true</param-value>
</context-param>
Look at this for details
https://community.jboss.org/wiki/RichFacesMigrationGuide33x-4xMigration
https://community.jboss.org/wiki/RichFacesMigrationGuide33x-4xMigration-Upgrading
Please install firebug and look for the place where the datatable should load. This will give you an idea. Set the rendered attribute as true.
Please try to render a rich:panel or anything associated to richfaces and see if it works. and view the source of the document to see if the document has been processed by jsf.
I haven't used spring so I don't really know about it but here is an article as suggested by Brendan,
http://www.mkyong.com/jsf2/jsf-2-0-spring-integration-example/
Hope this resolves your problem.
-
4. Re: rich:dataTable doesn't work after migration to RF4
strannik Aug 14, 2012 2:38 PM (in response to snjv180)Thanks a lot, Sanjeev.
This is rather helpful tutorial. I reviewed few additional working samples and step-by-step made my application starting and working.
Unfortunately there're a lot incompatible changes between 3.3.3 and 4.x so I need to think out the migration plans.
I also noticed weird exception after I had integrated Spring Web Flow to my project. Have you ever encountered something similar ?
ERROR FlowExecutionImpl : FlowExecutionListener threw exception
java.lang.NullPointerException
at org.springframework.faces.webflow.FlowFacesContextLifecycleListener.requestProcessed(FlowFacesContextLifecycleListener.java:45)
at org.springframework.webflow.engine.impl.FlowExecutionListeners.fireRequestProcessed(FlowExecutionListeners.java:98)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:237)
at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:140)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
-
5. Re: rich:dataTable doesn't work after migration to RF4
snjv180 Aug 14, 2012 11:22 PM (in response to strannik)Sorry I have very limited knowlegde about it. But I think you should have a look at JSF 2 The complete reference. There you will find a section where it says how spring is used with JSF 2 and which part of lifecycle it is invoked. Maybe it maybe due to the web.xml file. Try using only minimal configurations for a while. Just try running a simple piece of code.See if that works. Hope you work it out.
By the looks of the stacktrace there is something wrong with the configuration in web.xml for spring webflow.
-
6. Re: rich:dataTable doesn't work after migration to RF4
strannik Aug 15, 2012 1:43 AM (in response to snjv180)Yes, I'm aware about JSF2, The complete reference. However there is no single word about Spring/Spring Web Flow integration there.
I guess it is not very common and thus non-trivial. Unfortunately SWF forums also don't give much information about the exception.
-
7. Re: rich:dataTable doesn't work after migration to RF4
snjv180 Aug 15, 2012 4:30 AM (in response to strannik)Have you looked at this article.
https://community.jboss.org/thread/203886?tstart=0
He is also trying to use webflow. Maybe he can help you.
-
8. Re: rich:dataTable doesn't work after migration to RF4
strannik Aug 16, 2012 4:24 AM (in response to snjv180)Thank you, Sanjeev.
You know the sample referenced in the post was rather useful. I mean booking example with JSF and RF integration. Although it didn't resolve my issue(with exception) I got a big piece of information related to the integration.
Regarding the original issue - it was resolved so application works fine now.
Thank you for all your efforts.
-
9. Re: rich:dataTable doesn't work after migration to RF4
snjv180 Aug 16, 2012 5:14 AM (in response to strannik)That is nice to hear. Good to know that you resolved it.