Still having the same problem. Here are some tests I've made, all give the same result:
- Ran the web app on JBoss 6 and Tomcat
- Played with different versions of included libs
- Played with templates and different options to define xhtmls (with headers, ui tags, etc.)
- Tried different JRE and JDK versions
The behaviour is still the same: Most of components work except for some like datatable navigation or form validation.
I'm sure I'm doing something terribly wrong. I remember I tried to play with RF4 some time before (it was v4.0.0 FInal) and I had absolutely no problems with those components.
Just for the reference here're my web.xml, faces-config and test xhtml:
<?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"
version="3.0">
<display-name>Cambry v2.0</display-name>
<description>Cambry v2.0</description>
<welcome-file-list>
<welcome-file>app</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>StartupServlet</servlet-name>
<servlet-class>org.cambry2.test.StartupServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StartupServlet</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<context-param>
<param-name>org.richfaces.skin</param-name>
<param-value>classic</param-value>
</context-param>
</web-app>
<?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_2_1.xsd"
version="2.1">
<converter>
<converter-id>converterSI</converter-id>
<converter-class>org.cambry2.converter.SIConverter</converter-class>
</converter>
<validator>
<validator-id>validatorSI</validator-id>
<validator-class>org.cambry2.validator.SIValidator</validator-class>
</validator>
</faces-config>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:view>
<h:head/>
<h:body>
<h:form>
<a4j:jsFunction name="initialLoad" action="#{managedBean1.initialLoad}" render="form_carros"/>
</h:form>
<rich:panel>
<f:facet name="header">
<h:outputText value="Carritos admin"/>
</f:facet>
<h:form id="form_carros">
<rich:dataTable id="dt_carros" value="#{managedBean1.carros}" var="carro" rowKeyVar="row" rows="5">
<rich:column>
<f:facet name="header">Marca</f:facet>
<h:outputText value="#{carro.marca}"/>
</rich:column>
<rich:column style="text-align: right;">
<f:facet name="header">Modelo</f:facet>
<h:outputText value="#{carro.modelo}"/>
</rich:column>
<rich:column style="text-align: right;">
<f:facet name="header">Precio</f:facet>
<h:outputText value="#{carro.precio}">
<f:convertNumber pattern="$#,###.00" type="currency" locale="es_MX"/>
</h:outputText>
</rich:column>
<rich:column style="text-align: center;">
<f:facet name="header">Vendido</f:facet>
<h:outputText value="#{carro.vendido?'Sí':'No'}"/>
</rich:column>
<f:facet name="footer">
<rich:dataScroller />
</f:facet>
</rich:dataTable>
<rich:messages showSummary="true" showDetail="false" ajaxRendered="true" style="color: red;"/>
</h:form>
</rich:panel>
<script type="text/javascript">
window.onload = initialLoad;
</script>
</h:body>
</f:view>
</ui:composition>
Edit:
Interesting observation: When I click any of datascroller's links a rich:messages shows an error: The button/link/text component needs to have a Form in its ancestry. Please add <h:form>.