0

我正在研究带有richfaces 4的JSF 2.0示例项目。问题是richfaces皮肤未应用于组件。

我想为 Richdatatable 的 HeaderClass 使用自定义 css,但我无法证明这一点。只有内置的 css 应用于标题。即使对于 columnClasses,如果我只使用这样的单个值: columnClasses="JspContentForDataTable ,它没有显示我必须为每列执行 columnClasses="JspContentForDataTable,JspContentForDataTable,JspContentForDataTable,JspContentForDataTable" 。

网页.xml:

    <context-param>
        <param-name>org.richfaces.skin</param-name>
        <param-value>ruby</param-value>
    </context-param>

    <context-param>
        <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
        <param-value>com.sun.facelets.FaceletViewHandler</param-value>
    </context-param>


    <context-param>
        <param-name>org.richfaces.CONTROL_SKINNING</param-name>
        <param-value>disable</param-value>
    </context-param>

    <context-param>
     <param-name>org.richfaces.LoadStyleStrategy</param-name>
     <param-value>None</param-value>
</context-param>

    <context-param>
        <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
        <param-value>true</param-value>
    </context-param>

如果我做错了什么,请纠正。帮助我提前感谢。

4

1 回答 1

0

您的样式未应用于元素/组件的主要原因是样式表较早加载,然后被默认样式覆盖,要在运行时包含样式,您必须使用导入样式表标签

例如:-

<h:outputStylesheet library="css" name="style.css" />

请记住在页面的 < h:head>标记中包含声明。有关在运行时加载 css 的更详细说明,请参阅此链接

包括使用 h:outputStyleet 的 css

好的,我想我找到了您的解决方法,试试这个,将 css 应用于您的自定义数据表时似乎存在一些问题。

将此语句包含在您的基本文件或当前页面中。

对于您添加的任何自定义组件,包括您包含在该组件中的基本丰富标签,这会导致您作为非渲染组件出现一些问题,并且它会正常工作。

例如:- 对于您当前的自定义标签,您可能正在使用的基本丰富组件是 rich:dataTable 权限,因此请在您使用该组件的文件中添加该组件,并使用render="false "。

像 < rich:dataTable rendering="false"/>这将解决您的问题,但不确定为什么会发生这种情况,但这应该可以解决问题。

于 2012-05-02T18:39:35.170 回答