【问题标题】:Get selected labels from SelectManyListBox从 SelectManyListBox 中获取选定的标签
【发布时间】:2010-09-14 20:36:47
【问题描述】:

我想获取h:selectManyListbox的选定项目的值和标签。

我有这个:

<h:selectManyListbox id="myList" size="10" value="#{search.selectedItems}">
    <f:selectItems id="myListID" value="#{search.itemsList}">
</h:selectManyListbox>

问题是,当我提交表单时,我只得到一个 List&lt;String&gt; 值,而且我需要两个:选择的值和标签。

我怎样才能得到这个?

【问题讨论】:

    标签: java jsf


    【解决方案1】:

    你不能。 HTML 不会将选项标签发送到服务器端。此外,您通常已经知道与服务器端的值关联的标签。只要有一些标签-值对的映射(例如Map&lt;String, String&gt;),这样您就可以通过选定的值获取关联的标签(更重要的是,您可以在&lt;f:selectItems&gt;中重复使用映射)。

    也就是说,需要了解标签是一种设计气味。这些信息不应该放在首位(同样)吗?

    【讨论】:

    • 是的,这将是一个选项,但我的客户名称带有 '、"、/、\ 等额外字符......并且名称重复,所以我不能使用这就像一个值。感谢您的回答,我会尝试 map 的事情
    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多