Любопытно, он не поддерживает List<T>
или T[]
на <f:selectItems>
.Вам необходимо создать List<SelectItem>
или SelectItem[]
или, что лучше, явно указать атрибут var
.Это работает только с List<T>
.
<f:selectItems value="#{bean.names}" var="name" itemValue="#{name}" itemLabel="#{name}" />
с
private List<String> names = Arrays.asList("name1", "name2", "name3");
Поскольку это не имеет смысла, я бы посоветовал сообщить об этой проблеме в систему отслеживания проблем.
Более любопытно, что когда я опускаю itemLabel
(который затем должен просто отображать itemValue
как метку), он бросает довольно серьезный NPE на Tomcat:
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:182)
at com.sun.faces.application.view.WriteBehindStateWriter.write(WriteBehindStateWriter.java:127)
at com.sun.faces.renderkit.html_basic.HtmlResponseWriter.write(HtmlResponseWriter.java:666)
at org.primefaces.component.selectonemenu.SelectOneMenuRenderer.encodeSelectItems(SelectOneMenuRenderer.java:261)
PrimeFaces 3.0 явно все еще вбета стадия.