根据我对Richfaces demo page和docs的理解,我应该能够为标准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,而不更改特定元素。
答案 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}手动为表格设置外观。