如何在标准表上使用Richfaces皮肤?

时间:2011-04-05 23:56:57

标签: css richfaces

根据我对Richfaces demo pagedocs的理解,我应该能够为标准HTML元素设置外观。

  

此功能为标准HTML表单元素提供样式,以便与RichFaces常见的look'n'feel高度一致。

今天我可能会对RF有点不知所措,但我不知道如何在常规元素上进行蒙皮。例如,如果我想要一个手工制作的表来匹配花哨的Richfaces表,我会认为这样的东西会起作用:

<table class="rich-table">
        <tr class="rich-tr">
        <a4j:repeat value="#{myBean.elements}" var="e">
            <th class="rich-th" >
                                   <h:outputText value="#{e.text}" />
                            </th>
                    </a4j:repeat>
            </tr>
    </table>

我试过皮肤的其他元素也没有用,所以我觉得我的方式错了。最终的目标是将标准HTML元素融合在一起,并且仍允许将皮肤从blueSky交换到emeraldGreen,而不更改特定元素。

2 个答案:

答案 0 :(得分:2)

问题是 - richFaces没有“静态表格”标签不提供表格自动换肤,因为“blablabla”(一些蹩脚的借口;))。手动剥皮很糟糕。

解决方案:使用rich:dataTable,提供一些虚拟值 rich:dataTable value =“DummyStaticValue”)并使用 rich:columnGroup rich:列一起使用。

您的组合只会呈现一次(因为dummyValue只是一个字符串),您可以获得所需的任何表结构。

<rich:dataTable width="100%" value="DummyStaticValue">
    <f:facet name="header">
        <h:outputText value="myHeader" />
    </f:facet>
    <rich:columnGroup>
        <rich:column>
            <h:outputText value="myValue1" />
        </rich:column>
        <rich:column>
            <h:outputText value="myValue2" />
        </rich:column>
    </rich:columnGroup>
    <rich:columnGroup>
        <rich:column>
            <h:outputText value="myValue3" />
        </rich:column>
        <rich:column>
            <h:outputText value="myValue4" />
        </rich:column>
    </rich:columnGroup>

答案 1 :(得分:1)

试试这个。将此上下文参数:org.richfaces.CONTROL_SKINNING添加到web.xml并将其设置为“enable”。我不是100%肯定它会剥皮表标签。如果没有,您可以使用#{richSkin.any_param_name}手动为表格设置外观。