是否可以填充f:selectitem的一些项目的背景颜色,其他颜色的其他颜色?

时间:2017-03-24 12:43:34

标签: jsf-2

我是stackoverflow的新成员,但因为这是第一个我似乎无法修复的问题。

我知道问题可能不清楚,但这是我的问题。对于我们的后端应用程序,我们使用JSF。 现在有ap:selectOneMenu,其中selectItems会自动填充(DatabaseServers),但我们添加了一个新属性(boolean full),我现在的问题是,是否可以用红色编辑完整数据库的背景颜色不是绿色的完整数据库。

<p:outputLabel for="emrDatabaseServer"
                        value="#{msg['tenants.label.emrDatabase']}" />
                    <p:selectOneMenu id="emrDatabaseServer" style="width:250px;"
                        value="#{tenantController.entity.emrDatabaseServer}"
                        effect="fade" required="true"
                        converter="#{databaseServerConverter}">
                        <f:selectItem itemLabel="Select One" itemValue="" />
                        <f:selectItems value="#{tenantController.emrDatabaseServers}"
                            var="emrDB"
                            itemLabel="#{emrDB.name} (#{emrDB.host}:#{emrDB.port}) (#{emrDB.nbDatabases} dbs)"
                            itemValue="#{emrDB}" />
                        <p:ajax event="change"
                            listener="#{tenantController.onValueChange}" update="save" />
                    </p:selectOneMenu>

我尝试了无数的东西,但它似乎没有效果。

我还想提一下,我没有选择使用其他软件包的代码等等。

1 个答案:

答案 0 :(得分:0)

select - 元素的样式选项无法以干净且跨浏览器兼容的方式进行,如here所述。

但是,如果你使用一些满足你的样式要求的黑客,那么style resp就没有styleClass<f:selectItem>属性。 <f:selectItems>。对于这个问题,您可以尝试使用this anser所描述的传递属性(使用title-attribute而不是样式,但您明白了这一点。)

但总而言之,你要做的事情会导致大的黑客,应该避免。