SEAM/RichFaces issue
jerryeads52 Jun 20, 2007 10:37 PMI am trying to get a <rich:dataTable to work correctly with SEAM and I keep getting the same error in the log. I am using SEAM 1.2.1, richfaces-3.0.1-SNAPSHOT.jar, ajax4jsf-1.1.1-SNAPSHOT.jar and oscache-2.3.2.jar.
ERROR:
21:59:38,500 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
org.ajax4jsf.framework.resource.ResourceNotFoundException: Resource not registered : org.richfaces.renderkit.html.GradientA
at org.ajax4jsf.framework.resource.ResourceBuilderImpl.getResource(ResourceBuilderImpl.java:376)
at org.ajax4jsf.framework.resource.ResourceBuilderImpl.getResourceForKey(ResourceBuilderImpl.java:333)
at org.ajax4jsf.framework.resource.InternetResourceService.serviceResource(InternetResourceService.java:128)
at org.ajax4jsf.framework.resource.InternetResourceService.serviceResource(InternetResourceService.java:118)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:207)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Unknown Source)
my web.xml
<?xml version="1.0" encoding="UTF-8"?> <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"> <!-- Ajax4jsf (must come first!) --> <filter> <display-name>Ajax4jsf Filter</display-name> <filter-name>ajax4jsf</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> </filter> <filter-mapping> <filter-name>ajax4jsf</filter-name> <url-pattern>*.seam</url-pattern> </filter-mapping> <context-param> <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value> </context-param> <!-- RichFaces --> <context-param> <param-name>org.ajax4jsf.SKIN</param-name> <param-value>blueSky</param-value> </context-param> <filter> <display-name>Ajax4jsf Filter</display-name> <filter-name>ajax4jsf</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> </filter> <filter-mapping> <filter-name>ajax4jsf</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> <!-- Seam --> <listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener> <servlet> <servlet-name>Seam Resource Servlet</servlet-name> <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Seam Resource Servlet</servlet-name> <url-pattern>/seam/resource/*</url-pattern> </servlet-mapping> <filter> <filter-name>Seam Filter</filter-name> <filter-class>org.jboss.seam.web.SeamFilter</filter-class> </filter> <filter-mapping> <filter-name>Seam Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- JSF --> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</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>facelets.DEVELOPMENT</param-name> <param-value>true</param-value> </context-param> <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>*.seam</url-pattern> </servlet-mapping> <!-- MyFaces --> <listener> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> </listener> <!-- JSF RI --> <!-- <listener> <listener-class>com.sun.faces.config.ConfigureListener</listener-class> </listener> --> <session-config> <session-timeout>10</session-timeout> </session-config> </web-app>
Page using RichFaces Component
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:f="http://java.sun.com/jsf/core" xmlns:rich="http://richfaces.ajax4jsf.org/rich" xmlns:c="http://java.sun.com/jstl/core" xmlns:h="http://java.sun.com/jsf/html"> <head/> <body> <ui:composition> <script> helpTopic="quick_search"; </script> <h:form id="cubeSearchParams" style="margin: 0; padding: 0;"> <div style="margin: 0; padding: 0;"> <div style="margin-top: 0; margin-bottom: 1em; border-bottom: 2px solid black;"> <h3 style="padding-bottom: 0; margin-bottom: 0;"> <h:outputText id="basicSearchTitle" value="#{msgs.cubeSearchTitle}"/> </h3> </div> <table cellspacing="0" cellpadding="0" border="0" style="width: 540px;"> <tr> <td> <h:outputText value="#{msgs.cubeSearchHint}"/> </td> </tr> <tr> <td> <rich:dataTable cellpadding="0" cellspacing="0" border="1" var="iceCube" value="#{icecubesearch.iceCubes}"> <f:facet name="header"> <rich:columnGroup> <rich:column rowspan="4"> <h:outputText value="#{msgs.biomoleculeColHeader}" /> </rich:column> <rich:column> <h:outputText value="#{msgs.platformColHeader}" /> </rich:column> <rich:column> <s:link id="cubeSearch1" value="#{msgs.locationsCol1}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol1}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch2" value="#{msgs.locationsCol2}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol2}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch3" value="#{msgs.locationsCol3}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol3}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch4" value="#{msgs.locationsCol4}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol4}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch5" value="#{msgs.locationsCol5}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol5}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch6" value="#{msgs.locationsCol6}" action="#{icecubesearch.doTraySearch}"> <f:param name="location" value="#{msgs.locationsCol6}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch7" value="#{msgs.subDiagCol1}" action="#{icecubesearch.doTraySearch}"> <f:param name="subdiagnosis" value="#{msgs.subDiagnosisNormalNameFilter}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch8" value="#{msgs.subDiagCol2}" action="#{icecubesearch.doTraySearch}"> <f:param name="subdiagnosis" value="#{msgs.subDiagnosisCancerNameFilter}"/> </s:link> </rich:column> </rich:columnGroup> </f:facet> <rich:column> <s:link id="cubeSearch17" value="#{iceCube.analyte}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> </s:link> </rich:column> <rich:column> <s:link id="cubeSearch18" value="#{iceCube.platform}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString1" rendered="#{iceCube.locationsCol1 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol1}"/> <s:link id="cubeSearch16" rendered="#{iceCube.locationsCol1 gt 0}" value="#{iceCube.locationsCol1}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol1}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString2" rendered="#{iceCube.locationsCol2 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol2}"/> <s:link id="cubeSearch15" rendered="#{iceCube.locationsCol2 gt 0}" value="#{iceCube.locationsCol2}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol2}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString3" rendered="#{iceCube.locationsCol3 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol3}"/> <s:link id="cubeSearch14" rendered="#{iceCube.locationsCol3 gt 0}" value="#{iceCube.locationsCol3}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol3}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString4" rendered="#{iceCube.locationsCol4 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol4}"/> <s:link id="cubeSearch13" rendered="#{iceCube.locationsCol4 gt 0}" value="#{iceCube.locationsCol4}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol4}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString5" rendered="#{iceCube.locationsCol5 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol5}"/> <s:link id="cubeSearch12" rendered="#{iceCube.locationsCol5 gt 0}" value="#{iceCube.locationsCol5}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol5}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString6" rendered="#{iceCube.locationsCol6 le 0}" style="width: 100%; color: white;" value="#{iceCube.locationsCol6}"/> <s:link id="cubeSearch11" rendered="#{iceCube.locationsCol6 gt 0}" value="#{iceCube.locationsCol6}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="location" value="#{msgs.locationsCol6}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString7" rendered="#{iceCube.subDiagCol1 le 0}" style="width: 100%; color: white;" value="#{iceCube.subDiagCol1}"/> <s:link id="cubeSearch10" rendered="#{iceCube.subDiagCol1 gt 0}" value="#{iceCube.subDiagCol1}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="subdiagnosis" value="#{msgs.subDiagnosisNormalNameFilter}"/> </s:link> </rich:column> <rich:column> <h:outputText id="emptyString8" rendered="#{iceCube.subDiagCol2 le 0}" style="width: 100%; color: white;" value="#{iceCube.subDiagCol2}"/> <s:link id="cubeSearch9" rendered="#{iceCube.subDiagCol2 gt 0}" value="#{iceCube.subDiagCol2}" action="#{icecubesearch.doTraySearch}"> <f:param name="analyte" value="#{iceCube.analyte}"/> <f:param name="platform" value="#{iceCube.platform}"/> <f:param name="subdiagnosis" value="#{msgs.subDiagnosisCancerNameFilter}"/> </s:link> </rich:column> </td> </tr> <tr> <td colspan="2" class="formLabel" style="padding-top: 2em; text-align: center;"> <s:link id="basicLink" value="#{msgs.searchTypeSiimple}" action="#{search.selectSearchType}" style="padding-right: 1em;"> <f:param name="searchType" value="#{msgs.searchTypeSiimple}"/> </s:link> <s:link id="advancedLink" value="#{msgs.searchTypeAdvanced}" action="#{search.selectSearchType}" style="padding-right: 1em;"> <f:param name="searchType" value="#{msgs.searchTypeAdvanced}"/> </s:link> </td> </tr> </table> </div> </h:form> </ui:composition> </body> </html>
Can anyone tell me what causes this error?
Thanks
Jerry