我有一个从ebean获取的隐藏属性。我如何将该颜色代码属性传递给css函数?
<h:panelGrid id="testpanel"
columns="#{message.no_of_columns}" rows="#{message.no_of_rows}"
styleClass="dynamicGrid">
<c:forEach items="#{bLDashBoardAction.listBondLoc}" var="item">
<h:panelGroup> <h:outputText value="#{item.rackTagCode}" />
<h:hiddenInput value="#{item.colorEBean.colorCode};" />
</h:panelGroup>
</c:forEach>
</h:panelGrid>
这是我的css属性,需要从panelgrid colorcode分配背景
.dynamicGrid td
{
width: 50px;
height: 50px;
border: 4px solid gray;
background:
}
答案 0 :(得分:1)
不要认为你可以从JSF传递到css,你可以创建几个具有预定义背景颜色的类,如.dynamicGridRed
和.dynamicGridYellow
并有条件地调用它们styleClass="#{item.colorEBean.colorCode}"
我们的colorCode可以返回dynamicGridRed
或dynamicGridYellow
或类似
styleClass="#{item.colorEBean.useRedCode?'dynamicGridRed':'dynamicGridYellow'}"
另一种选择是使用内联css,如:
style="width: 50px;height: 50px;border: 4px solid gray;background:#{item.colorEBean.colorCode}"
INMO,你最好不要试图操纵css的内容,只需要制作一堆预定义的css类......
但我不是css pro,所以我可能错了
答案 1 :(得分:1)
由于您受到奇怪设计的限制,您最好的选择是将样式直接应用于单元格的内容。
<h:outputText value="#{item.rackTagCode}" style="display:block;color:#{item.colorEBean.colorCode};" />
display:block
将使其跨越整个单元格。