私が知っている限り、 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>