在这种情况下,我想显示数据中心 ID 和数据中心名称 1000 和 DC1。
我制作了这个复杂的 JSF 代码,但事实证明我无法将 id 显示为值,将数据中心名称显示为标签。像这样的东西:
<f:selectItems value="#{ZoneProfileTabGeneralController.listDatacenters}" var="datacenters" itemValue="#{datacenters.datacenterid}" itemLabel="#{datacenters.datacentername} - #{datacenters.datacenterid}" />
这是我做的测试。
<h:outputText value="#{ZoneProfileTabGeneralController.DatacenterNameId(ud.datacenterId)} - #{ud.datacenterId}"
有什么方法可以将 id 显示为隐藏值并将名称显示为标签。但是当我提交 JSF 页面以仅发回数据中心 ID 时?
编辑
<tr>
<td>Datacenter ID</td>
<td>
<h:outputText value="#{ud.datacenterId}"
rendered="#{not ZoneProfileTabGeneralController.editable}" />
<h:selectOneMenu value="#{ud.datacenterId}" label="#{ZoneProfileTabGeneralController.DatacenterNameId(ud.datacenterId)} - #{ud.datacenterId}" rendered="#{ZoneProfileTabGeneralController.editable}">
<f:selectItems value="#{ZoneProfileTabGeneralController.listDatacenters}" var="datacenters" itemValue="#{datacenters.datacenterid}" itemLabel="#{datacenters.datacentername} - #{datacenters.datacenterid}" />
</h:selectOneMenu>
</td>
</tr>