1 2 Previous Next 15 Replies Latest reply: Aug 10, 2013 6:44 PM by Recep YALMAN RSS

Cannot get skins to load in RichFaces 4 M5

Chris Mathrusse Newbie

I'm using RichFaces 4 M5 and can't seem to get the skins to apply to the components. I've enabled skinning in my web.xml but nothing seems to take effect. I've even specified a skin that doesn't exist to see if I would get an error but instead I got nothing.

 

Here is my web.xml

    <context-param>

        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

        <param-value>client</param-value>

    </context-param>

    <context-param>

        <param-name>org.richfaces.ENABLE_CONTROL_SKINNING</param-name>

        <param-value>true</param-value>

    </context-param>

    <context-param>

        <param-name>org.richfaces.ENABLE_CONTROL_SKINNING_CLASSES</param-name>

        <param-value>false</param-value>

    </context-param>

    <context-param>

        <param-name>org.richfaces.SKIN</param-name>

        <param-value>skyBlue</param-value>

    </context-param>   

    <context-param>

        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>

        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

        <param-value>client</param-value>

    </context-param>

    <context-param>

        <description>Tag libraries for facelets</description>

        <param-name>javax.faces.FACELETS_LIBRARIES</param-name>

        <param-value>/tags/iii.taglib.xml</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>*.jsf</url-pattern>

        <url-pattern>/faces/*</url-pattern>

    </servlet-mapping>

    <servlet-mapping>

        <servlet-name>Faces Servlet</servlet-name>

        <url-pattern>*.faces</url-pattern>

    </servlet-mapping>

    <mime-mapping>

        <extension>ecss</extension>

        <mime-type>text/css</mime-type>

    </mime-mapping> 

 

Thanks for the help...

  • 1. Cannot get skins to load in RichFaces 4 M5
    Nick Belaevski Master

    Hi Chris,

     

    The correct name is 'org.richfaces.skin': https://issues.jboss.org/browse/RF-8968

  • 2. Cannot get skins to load in RichFaces 4 M5
    Chris Mathrusse Newbie

    homer_doh.pngOh, how I hate typos!

  • 3. Cannot get skins to load in RichFaces 4 M5
    Patrick Meidl Newbie

    that still doesn't solve the issue for me. in my configuration, skinning was working fine in M3, but not in M5 (just tested by up/downgrading several times).

     

    my web.xml looks like this:

     

        <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>

        <context-param>

            <param-name>org.richfaces.skin</param-name>

            <param-value>DEFAULT</param-value>

        </context-param>  

     

    in the maven pom.xml, I have this:

     

        <properties>

            <org.richfaces.bom.version>4.0.0.20101226-M5</org.richfaces.bom.version>

        </properties>

     

        <dependencyManagement>

            <dependencies>

                <dependency>

                    <groupId>org.richfaces</groupId>

                    <artifactId>richfaces-bom</artifactId>

                    <version>${org.richfaces.bom.version}</version>

                    <scope>import</scope>

                    <type>pom</type>

                </dependency>

            </dependencies>

        </dependencyManagement>

     

        <dependencies>

     

            <dependency>

                <groupId>org.richfaces.ui</groupId>

                <artifactId>richfaces-components-ui</artifactId>

            </dependency>

     

            ...

        </dependencies>

     

    is there anything I need to configure? as I said, in M3 this configuration worked. it looks like the skinning is not activated at all when using M5: when I use an invalid skin name in web.xml with M3, I get an exception. in M5, nothing happens when configuring an invalid skin name.

  • 4. Cannot get skins to load in RichFaces 4 M5
    John Morris Newbie

    I'll chime in on this as well.  I can't get skins to work with M5 even after checking the context-param names.  I contacted Chris (he said he has skins working now with M5) and he shared the richfaces settings in his web.xml with me.  I copied his settings but still nothing shows up.  I've tried using the old param names as well as the new and neither seems to work.  The page isn't asking for the skin resources anymore (checking the access logs compared with older RichFaces versions) and it doesn't look like they're included in the rendered HTML.

     

    Here's my web.xml (with the richfaces settings Chris has working for him):

     

    <?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_2_5.xsd"

    version="2.5">

     

    <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

     

    <servlet>

    <servlet-name>Faces Servlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    </servlet>

     

    <servlet-mapping>

    <servlet-name>Faces Servlet</servlet-name>

    <url-pattern>*.jsf</url-pattern>

    <url-pattern>*.xhtml</url-pattern>

    </servlet-mapping>

     

    <context-param>

    <param-name>javax.faces.PROJECT_STAGE</param-name>

    <param-value>Development</param-value>

    </context-param>

     

    <context-param>

    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

    <param-value>client</param-value>

    </context-param>

     

    <context-param>

    <param-name>org.richfaces.ENABLE_CONTROL_SKINNING</param-name>

    <param-value>true</param-value>

    </context-param>

     

    <context-param>

    <param-name>org.richfaces.ENABLE_CONTROL_SKINNING_CLASSES</param-name>

    <param-value>false</param-value>

    </context-param>

     

    <context-param>

    <param-name>org.richfaces.skin</param-name>

    <param-value>classic</param-value>

    </context-param>

     

    </web-app>

     

    Thanks in advance.

  • 5. Cannot get skins to load in RichFaces 4 M5
    Nick Belaevski Master

    John,

     

    org.richfaces.ENABLE_CONTROL_SKINNING has been renamed into org.richfaces.enableControlSkinning. Please try using this.

  • 6. Cannot get skins to load in RichFaces 4 M5
    John Morris Newbie

    Thanks for the reply Nick.  I made that change but the skins still aren't showing up.  I've tried using all the new context param names (described here: https://issues.jboss.org/browse/RF-8968) but they don't seem to work.  Here's my current web.xml:

     

    <?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_2_5.xsd"

    version="2.5">

     

    <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

     

    <servlet>

    <servlet-name>Faces Servlet</servlet-name>

    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

    </servlet>

     

    <servlet-mapping>

    <servlet-name>Faces Servlet</servlet-name>

    <url-pattern>*.jsf</url-pattern>

    <url-pattern>*.xhtml</url-pattern>

    </servlet-mapping>

     

    <context-param>

    <param-name>javax.faces.PROJECT_STAGE</param-name>

    <param-value>Development</param-value>

    </context-param>

     

    <context-param>

    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

    <param-value>client</param-value>

    </context-param>

     

    <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>false</param-value>

    </context-param>

     

    <context-param>

    <param-name>org.richfaces.skin</param-name>

    <param-value>classic</param-value>

    </context-param>

     

    </web-app>

  • 7. Cannot get skins to load in RichFaces 4 M5
    Chris Mathrusse Newbie

    Skins are loading successfully for me. Here is my complete web.xml.

     

     

    <?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_2_5.xsd"

        version="2.5">

        <display-name>iii</display-name>

        <context-param>

            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

            <param-value>client</param-value>

        </context-param>

        <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>false</param-value>

        </context-param>

        <context-param>

            <param-name>org.richfaces.skin</param-name>

            <param-value>classic</param-value>

        </context-param>   

        <context-param>

            <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>

            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

            <param-value>client</param-value>

        </context-param>

        <context-param>

            <description>Tag libraries for facelets</description>

            <param-name>javax.faces.FACELETS_LIBRARIES</param-name>

            <param-value>/tags/iii.taglib.xml</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>*.jsf</url-pattern>

            <url-pattern>/faces/*</url-pattern>

        </servlet-mapping>

        <servlet-mapping>

            <servlet-name>Faces Servlet</servlet-name>

            <url-pattern>*.faces</url-pattern>

        </servlet-mapping>

        <mime-mapping>

            <extension>ecss</extension>

            <mime-type>text/css</mime-type>

        </mime-mapping>   

        <session-config>

            <session-timeout>15</session-timeout>

        </session-config>

        <listener>

            <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

        </listener>

        <listener>

            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

        </listener>

        <listener>

            <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

        </listener>

        <context-param>

            <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>

            <param-value>resources.application</param-value>

        </context-param>

        <listener>

            <listener-class>com.sun.faces.config.ConfigureListener</listener-class>

        </listener>

    </web-app>

     

     

    And here is my pom.xml.

     

     

        <properties>

            <org.springframework.version>3.0.2.RELEASE</org.springframework.version>

            <org.richfaces.ui.version>4.0.0.20101226-M5</org.richfaces.ui.version>

        </properties>

     

        <dependencyManagement>

            <dependencies>

                <dependency>

                    <groupId>org.richfaces</groupId>

                    <artifactId>richfaces-bom</artifactId>

                    <version>${org.richfaces.ui.version}</version>

                    <scope>import</scope>

                    <type>pom</type>

                </dependency>

            </dependencies>

        </dependencyManagement>

     

                  <!-- Rich Faces -->   

            <dependency>

                <groupId>org.richfaces.cdk</groupId>

                <artifactId>annotations</artifactId>

                <scope>provided</scope>

                <version>${org.richfaces.ui.version}</version>           

            </dependency>

            <dependency>

                <groupId>org.richfaces.ui</groupId>

                <artifactId>richfaces-components-ui</artifactId>

                <version>${org.richfaces.ui.version}</version>           

            </dependency>

            <dependency>

                <groupId>org.richfaces.core</groupId>

                <artifactId>richfaces-core-impl</artifactId>

                <version>${org.richfaces.ui.version}</version>           

            </dependency> 

     

        <repositories>

            <repository>

                <id>org.jboss</id>

                <name>jboss projects</name>

                <url>https://repository.jboss.org/nexus/content/groups/public/</url>

                <releases>

                    <enabled>true</enabled>

                </releases>

                <snapshots>

                    <enabled>true</enabled>

                </snapshots>

            </repository>


     

    There should be nothing else that needs to be configured to load the skins.

    I hope this helps...

  • 8. Cannot get skins to load in RichFaces 4 M5
    John Morris Newbie

    Found the problem: I'm missing the <h:head> tag.  Thanks for help, I appreciate it.

  • 9. Cannot get skins to load in RichFaces 4 M5
    Patrick Meidl Newbie

    I had the <h:head> tag, but my pom was missing org.richfaces.cdk and org.richfaces.core. I only had richfaces-bom and org.richfaces.ui, which was enough in M3 to get skinning to work. is this due to a problem in the bom for M5?

     

    anyway, thanks for posting your setup, it solved my problem.

  • 10. Re: Cannot get skins to load in RichFaces 4 M5
    Nick Belaevski Master

    Hi Patrick,

     

    This is necessary:

     

            <dependency>

                <groupId>org.richfaces.core</groupId>

                <artifactId>richfaces-core-impl</artifactId>

            </dependency>

     

     

    BTW, there is no need to specify explicitly version of artifacts imported with BOM. I.e. this is the correct setup:

     

        <dependencyManagement>

            <dependencies>

                <dependency>

                    <groupId>org.richfaces</groupId>

                    <artifactId>richfaces-bom</artifactId>

                    <version>${org.richfaces.ui.version}</version>

                    <scope>import</scope>

                    <type>pom</type>

                </dependency>

            </dependencies>

        </dependencyManagement>

     

                  <!-- Rich Faces -->  

            <dependency>

                <groupId>org.richfaces.cdk</groupId>

                <artifactId>annotations</artifactId>

                <scope>provided</scope>

            </dependency>

            <dependency>

                <groupId>org.richfaces.ui</groupId>

                <artifactId>richfaces-components-ui</artifactId>

            </dependency>

            <dependency>

                <groupId>org.richfaces.core</groupId>

                <artifactId>richfaces-core-impl</artifactId>

            </dependency>

  • 11. Re: Cannot get skins to load in RichFaces 4 M5
    Patrick Meidl Newbie

    hi Nick,

     

    thanks for the hint that I don't need the cdk. regarding the versions, I knew that you don't need to specify them when using a BOM, but specifying them explicitely was one of the things I tried before I found the solution to the problem. I removed them again.

  • 12. Cannot get skins to load in RichFaces 4 M5
    Nivedita Dixit Newbie

    Still unable to load the skins in richfaces 4.0 M5 release . Below is my web.xml content, not different than mentioned above 

     

      <context-param>

            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

            <param-value>client</param-value>

        </context-param>

          <context-param>

            <param-name>org.richfaces.skin</param-name>

            <param-value>classic</param-value>

        </context-param>

     

     

        <!-- Making the RichFaces skin spread to standard HTML controls -->

     

        <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>false</param-value>

        </context-param>

       

     

     

     

     

     

     

        <listener>

            <listener-class>com.sun.faces.config.ConfigureListener</listener-class>

        </listener>

     

        <!-- 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>

     

        <context-param>

            <param-name>javax.faces.DEFAULT_SUFFIX</param-name>

            <param-value>.xhtml</param-value>

        </context-param>

     

        <!-- Faces Servlet Mapping -->

     

        <servlet-mapping>

            <servlet-name>Faces Servlet</servlet-name>

            <url-pattern>*.jsf</url-pattern>

        </servlet-mapping>

  • 13. Cannot get skins to load in RichFaces 4 M5
    Ganga k Newbie

    Hi ,

     

           If ur using the SpringWebFlow framework with JSF & Richfaces ...

     

    u r suppose to added this piece of code into ur ***servlet.xml file

     

     

    <bean name="jsfResourceHandlerHack" class="org.springframework.faces.webflow.JsfResourceRequestHandler" />

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       
    <property name="order" value="1" />
       
    <property name="mappings">
           
    <value>
                /rfRes/**=jsfResourceHandlerHack
           
    </value>
       
    </property>
    </bean>

  • 14. Cannot get skins to load in RichFaces 4 M5
    Anuj Kumar Newbie

    Did you try John's suggestion?

    "I'm missing the <h:head> tag.  Thanks for help, I appreciate it."

     

    It worked for me. Thanks John!

1 2 Previous Next