【问题标题】:Iterate through a list in Facelets遍历 Facelets 中的列表
【发布时间】:2013-09-12 19:47:29
【问题描述】:

我有这个代码

<select id="vlm" name="vlm" class="pnx-inline-edit-select">
    <option value="#{agreement.valueForNiVlmVersion}">
        <h:outputText value="#{agreement.valueForNiVlmVersion}"/>
    </option>
</select>

这将显示一个下拉框,其中包含 valueForNiVlmVersion 的内容。现在,在同一个 bean 中,我有一个名为 validValues 的值列表,需要在那里显示而不是单个 valueForNiVlmVersion。 所以,我需要删除 valueForNiVlmVersion,而是从 validValues 添加值。问题是我不确定如何遍历列表以动态提取值。我可以使用 javascript 和 jquery 1.9。

谢谢!

【问题讨论】:

  • 当然这很容易实现,但是有什么特别的原因可以说明您不能只使用 JSF 提供的 &lt;h:selectOneMenu&gt;&lt;f:selectItems&gt; 吗?另见stackoverflow.com/tags/selectonemenu/info
  • 本来是有一点限制的,但是看了你说的那个帖子,我找到了帖子里提到的使用方法。谢谢!
  • 好的。无论如何,Skuntsel 通过展示正确的“纯 HTML”迭代方法完成了这个问题。任君挑选。

标签: jsf jsf-2 drop-down-menu iteration facelets


【解决方案1】:

您可以为此目的使用迭代组件,例如 &lt;ui:repeat&gt;,以您喜欢的方式生成自定义 HTML 代码:

<select id="vlm" name="vlm" class="pnx-inline-edit-select">
    <ui:repeat value="#{bean.validValues}" var="val">
        <option value="#{val.value}">#{val.label}</option>
    </ui:repeat>
</select>

但归根结底,您为什么不考虑标准的&lt;h:selectOneMenu&gt; 解决方案?

【讨论】:

    猜你喜欢
    • 2018-10-07
    • 2022-01-04
    • 2016-08-27
    • 2011-09-14
    • 2022-11-22
    • 1970-01-01
    • 2010-12-18
    • 2022-01-07
    相关资源
    最近更新 更多