【发布时间】:2012-09-01 14:22:47
【问题描述】:
我有一个 selectOneListbox,当单击它时,应该将一个附加参数 (id) 传递给服务器。就像现在一样,用户会看到一个名称列表,当他们选择一个时,我可以获得名称。但是,每个名称也有一个唯一的 id 与之关联,我不希望用户看到 - 如何在用户没有看到的情况下将所选名称的唯一 id 传递给支持 bean?可能吗?我试图弄清楚如何使用 f:param,但我不知道这将如何在这里工作。
<h:selectOneListbox id="listBox" value="#{ScheduleMB.clients}" size="5"
rendered="#{ScheduleMB.showClients}" >
<f:selectItems value="#{ScheduleMB.clientList}" var="c"
itemLabel="#{c.lastName} #{', '} #{c.firstName}" itemValue="#{c.lastName}" />
<f:ajax event="click" listener="#{ScheduleMB.clickListener}"
render="group" />
</h:selectOneListbox>
【问题讨论】:
-
您是否有任何理由没有将值设置为与名称关联的 ID?还是您希望 ID 不在页面上的任何位置(甚至隐藏在 HTML 的源代码中)?
-
姓+名可能不是唯一的,所以我更喜欢id。我不希望看到 id,因为 1)用户可能会被它愚弄 2)我认为它不雅观。因此我想使用 id 但我不确定使用 jsf 将其发回的最佳方式。