【发布时间】:2013-04-04 15:30:50
【问题描述】:
据我所知,在 SelectOneMenu 中显示信息的正确方法是拥有一个对象列表并使用它的属性,如下所示:
<p:selectOneMenu id="player" value="">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{players}"
var="player"
itemLabel="#{player.name}"
itemValue="#{player.id}"/>
</p:selectOneMenu>
但是如果我没有玩家列表怎么办,如果我有这样的东西怎么办?我想让它像这样工作:
//PlayerManager
public List<String> getPlayerNames() {
String[] names = new String[] {"player1", "player2"};
return Arrays.asList(names);
}
public List<String> getPlayerIds() {
String[] ids = new String[] {"1", "2"};
return Arrays.asList(ids);
}
<p:selectOneMenu id="player" value="">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{playerManager.playerNames}"
var="player"
itemLabel="#{playerManager.playerNames}"
itemValue="#{playerManager.playerIds}"/>
</p:selectOneMenu>
【问题讨论】:
-
function?那是Java还是JavaScript?String[]顺便说一下不是一个列表,而是一个数组。请正确使用条款并发布可编译的代码以避免红鲱鱼。 -
@BalusC 抱歉是 Java。现在修好了。我需要第二种方式的原因是因为我试图填充一个选择菜单,其值不是来自数据库。希望这是有道理的。
-
function在 Java 中不存在。您正在将 Java 与 JavaScript 混合使用。 -
@BalusC 很抱歉,是的,我在用伪代码思考,并在脑海中做了一个例子。
标签: java jsf primefaces