selectonemenu不显示bean的值

时间:2015-11-02 23:27:03

标签: jsf primefaces

我在使用primefaces selectonemenu时遇到问题,它只显示了cube.name(下拉列表的verbiage cube.name不是cube.name的值),这里是代码。

    <p:selectOneMenu id="cubeConfigId" value="#{projectModel.selectedProject.cubeConfigId}"  >
  <f:selectItem itemLabel="Select One" itemValue="" />
  <f:selectItems value="#{projectModel.cubeConfigEntities}" var="cube" itemLabel="cube.name" itemValue="cube.cubeConfigId"/>
    </p:selectOneMenu>

var =“cube”到底是做什么的?

1 个答案:

答案 0 :(得分:3)

您获得了itemLabel="cube.name"而不是itemLabel="#{cube.name}"itemValue也是如此)。

显示的内容由itemLabel="cube.name"确定,因此您可以看到标签中的内容 - 在这种情况下,它只是名称(如果您执行此类itemLabel="#{cube}" - {{1} }将显示toString()实体。支持bean中保存的内容位于Cube

itemValue只是var="cube"的迭代器。如果value="#{projectModel.cubeConfigEntities}"cubeConfigEntities个实体的列表,则Cube在一次循环迭代中为var="cube",在另一个循环迭代中,它会从列表中获取另一个Cube等。您可以通过在Cube上调用方法来访问Cube方法。