我正在使用richfaces 4.0 final。我有一个页面,我使用
包含另一个facelet<ui:include src="#{bean.selectedPage}" />
String selectedPage在按钮单击时设置。单击按钮时,页面将更改,并使用“render”属性重新呈现上述代码周围的面板。 facelet有一个数据表。例如:
<rich:dataTable>
<f:facet name="header">
<rich:columnGroup>
<rich:column>
<h:outputText value="hello" />
</rich:column>
</rich:columnGroup>
</f:facet>
</rich:dataTable>
不包括此数据表的css。有人可以帮我解决这个问题吗?我已经添加了所有必需的罐子。以下是我的web.xml的片段
<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>blueSky</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>*.html</url-pattern>
</servlet-mapping>
奇怪的部分是为其他组件加载了皮肤,例如&lt; a4j:commandButton /&gt; 。问题仅出现在数据表中。
答案 0 :(得分:1)
我以前遇到过这种情况。 AFAIK,richfaces按需加载组件的CSS。由于您的页面是动态加载的,因此Richfaces永远不会加载它永远不会知道的css。 (提到硬编码的页面名称,框架已经知道要渲染的组件的css,正如你在评论中提到的那样)。
我能找到的唯一解决方案是在您的父页面中包含rich:dataTable
(即您将此小脸包括<ui:include>
的页面)并将其样式设置为display:none
。这样,框架就包含了rich:dataTable
css。
我知道它不是一个完美的解决方案,但我找不到更好的解决方案!