Richfaces SKIN issue
jonathan.shin Jun 14, 2007 11:14 AMSKIN was working fine but sometimes, I lose the SKIN and can't get it back. However, since yesterday the SKIN doesn't work at all. I don't believe I have changed any configuration files. By the way, I'm using ie 6.0.
ajax4jsf-1.1.1-SNAPSHOT
oscache-2.3.2
richfaces-3.0.1-SNAPSHOT
trinidad-impl-1.0.0-incubating
Thanks.
web.xml <?xml version="1.0" ?> <web-app 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_4.xsd" version="2.4"> <!-- 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> <!-- Not used, as we've integrated Trinidad --> <!-- <context-param> <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value> </context-param>--> <context-param> <param-name>org.ajax4jsf.SKIN</param-name> <param-value>blueSky</param-value> </context-param> <!-- Seam --> <listener> <listener-class> org.jboss.seam.servlet.SeamListener </listener-class> </listener> <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> <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> <!-- MyFaces --> <listener> <listener-class> org.apache.myfaces.webapp.StartupServletContextListener </listener-class> </listener> <!-- Facelets development mode (disable in production) --> <context-param> <param-name>facelets.DEVELOPMENT</param-name> <param-value>true</param-value> </context-param> <!-- 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> <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> <security-constraint> <display-name>Restrict raw XHTML Documents</display-name> <web-resource-collection> <web-resource-name>XHTML</web-resource-name> <url-pattern>*.xhtml</url-pattern> </web-resource-collection> <auth-constraint> <role-name>NONE</role-name> </auth-constraint> </security-constraint> <!-- Trinidad --> <context-param> <param-name> org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER </param-name> <param-value> org.jboss.seam.ui.facelet.SeamFaceletViewHandler </param-value> </context-param> <context-param> <param-name> org.apache.myfaces.trinidad.CHANGE_PERSISTENCE </param-name> <param-value>session</param-value> </context-param> <filter> <filter-name>Trinidad</filter-name> <filter-class> org.apache.myfaces.trinidad.webapp.TrinidadFilter </filter-class> </filter> <filter-mapping> <filter-name>Trinidad</filter-name> <url-pattern>*.seam</url-pattern> </filter-mapping> <servlet> <servlet-name>Trinidad Resources</servlet-name> <servlet-class> org.apache.myfaces.trinidad.webapp.ResourceServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>Trinidad Resources</servlet-name> <url-pattern>/adf/*</url-pattern> </servlet-mapping> </web-app>
view file <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:a="https://ajax4jsf.dev.java.net/ajax" xmlns:rich="http://richfaces.ajax4jsf.org/rich" template="layout/template.xhtml"> <ui:define name="body"> <h:messages globalOnly="true" styleClass="message" id="globalMessages"/> <h:form id="address" styleClass="edit"> <rich:panel> <f:facet name="header">Edit Address</f:facet> <s:decorate id="addressIdDecoration" template="layout/edit.xhtml"> <ui:define name="label">addressId</ui:define> <h:inputText id="addressId" required="true" disabled="#{addressHome.managed}" value="#{addressHome.instance.addressId}"> <a:support event="onblur" reRender="addressIdDecoration"/> </h:inputText> </s:decorate> <s:decorate id="address1Decoration" template="layout/edit.xhtml"> <ui:define name="label">address1</ui:define> <h:inputText id="address1" size="50" maxlength="50" value="#{addressHome.instance.address1}"> <a:support event="onblur" reRender="address1Decoration"/> </h:inputText> </s:decorate> <s:decorate id="address2Decoration" template="layout/edit.xhtml"> <ui:define name="label">address2</ui:define> <h:inputText id="address2" size="50" maxlength="50" value="#{addressHome.instance.address2}"> <a:support event="onblur" reRender="address2Decoration"/> </h:inputText> </s:decorate> <s:decorate id="address3Decoration" template="layout/edit.xhtml"> <ui:define name="label">address3</ui:define> <h:inputText id="address3" size="50" maxlength="50" value="#{addressHome.instance.address3}"> <a:support event="onblur" reRender="address3Decoration"/> </h:inputText> </s:decorate> <s:decorate id="cityDecoration" template="layout/edit.xhtml"> <ui:define name="label">city</ui:define> <h:inputText id="city" size="30" maxlength="30" value="#{addressHome.instance.city}"> <a:support event="onblur" reRender="cityDecoration"/> </h:inputText> </s:decorate> <s:decorate id="zipCodeDecoration" template="layout/edit.xhtml"> <ui:define name="label">zipCode</ui:define> <h:inputText id="zipCode" size="10" maxlength="10" value="#{addressHome.instance.zipCode}"> <a:support event="onblur" reRender="zipCodeDecoration"/> </h:inputText> </s:decorate> <div style="clear:both"> <span class="required">*</span> required fields </div> </rich:panel> <div class="actionButtons"> <h:commandButton id="save" value="Save" action="#{addressHome.persist}" disabled="#{!addressHome.wired}" rendered="#{!addressHome.managed}"/> <h:commandButton id="update" value="Save" action="#{addressHome.update}" rendered="#{addressHome.managed}"/> <h:commandButton id="delete" value="Delete" action="#{addressHome.remove}" rendered="#{addressHome.managed}"/> <s:button id="done" value="Done" propagation="end" view="/Address.xhtml" rendered="#{addressHome.managed}"/> <s:button id="cancel" value="Cancel" propagation="end" view="/#{empty addressFrom ? 'AddressList' : addressFrom}.xhtml" rendered="#{!addressHome.managed}"/> </div> </h:form> <rich:tabPanel switchType="ajax"> <rich:tab label="state"> <div class="association" id="stateParent"> <h:outputText value="No state" rendered="#{addressHome.instance.state == null}"/> <rich:dataTable var="state" value="#{addressHome.instance.state}" rendered="#{addressHome.instance.state != null}" rowClasses="rvgRowOne,rvgRowTwo" id="stateTable"> <h:column> <f:facet name="header">stateId</f:facet> #{state.stateId} </h:column> <h:column> <f:facet name="header">name</f:facet> #{state.name} </h:column> <h:column> <f:facet name="header">action</f:facet> <s:link view="/State.xhtml" id="viewstate" value="View" propagation="none"> <f:param name="stateStateId" value="#{state.stateId}"/> </s:link> </h:column> </rich:dataTable> <div class="actionButtons"> <s:button value="Select state" view="/StateList.xhtml"> <f:param name="from" value="AddressEdit"/> </s:button> </div> </div> </rich:tab> <rich:tab label="country"> <div class="association" id="countryParent"> <h:outputText value="No country" rendered="#{addressHome.instance.country == null}"/> <rich:dataTable var="country" value="#{addressHome.instance.country}" rendered="#{addressHome.instance.country != null}" rowClasses="rvgRowOne,rvgRowTwo" id="countryTable"> <h:column> <f:facet name="header">countryId</f:facet> #{country.countryId} </h:column> <h:column> <f:facet name="header">name</f:facet> #{country.name} </h:column> <h:column> <f:facet name="header">action</f:facet> <s:link view="/Country.xhtml" id="viewcountry" value="View" propagation="none"> <f:param name="countryCountryId" value="#{country.countryId}"/> </s:link> </h:column> </rich:dataTable> <div class="actionButtons"> <s:button value="Select country" view="/CountryList.xhtml"> <f:param name="from" value="AddressEdit"/> </s:button> </div> </div> </rich:tab> <rich:tab label="companies"> <div class="association" id="companiesChildren"> <h:outputText value="No companies" rendered="#{empty addressHome.companies}"/> <rich:dataTable value="#{addressHome.companies}" var="company" rendered="#{not empty addressHome.companies}" rowClasses="rvgRowOne,rvgRowTwo" id="companiesTable"> <h:column> <f:facet name="header">companyId</f:facet> <h:outputText value="#{company.companyId}"/> </h:column> <h:column> <f:facet name="header">name</f:facet> <h:outputText value="#{company.name}"/> </h:column> <h:column> <f:facet name="header">webSite</f:facet> <h:outputText value="#{company.webSite}"/> </h:column> <h:column> <f:facet name="header">action</f:facet> <s:link view="/Company.xhtml" id="selectcompany" value="Select" propagation="none"> <f:param name="companyCompanyId" value="#{company.companyId}"/> <f:param name="companyFrom" value="Address"/> </s:link> </h:column> </rich:dataTable> </div> <f:subview rendered="#{addressHome.managed}" id="companies"> <div class="actionButtons"> <s:button id="addcompany" value="Add company" view="/CompanyEdit.xhtml" propagation="none"> <f:param name="addressAddressId" value="#{addressHome.instance.addressId}"/> <f:param name="companyFrom" value="Address"/> </s:button> </div> </f:subview> </rich:tab> </rich:tabPanel> </ui:define> </ui:composition>