p: selectOneMenu не отображает пользовательский контент через столбец p: в List <String>
Я пытаюсь получить Primefaces 5.2 selectOneMenu для отображения изображений вместе с их именами файлов. Вот как выглядит мой xhtml:
<h:form>
<h:panelGrid id="createPanelGrid" columns="2">
<p:outputLabel value="Service Logo:" />
<p:selectOneMenu value="#{imageBean.selectedImage}" var="l">
<f:selectItem itemLabel="Select a logo" itemValue="" />
<f:selectItems value="#{imageBean.imageList}" var="logo" itemLabel="#{logo}" itemValue="#{logo}" />
<p:column>
<p:graphicImage value="#{imageBean.imageFolder}/#{l}" style="max-width:50px;max-height:50px;" />
</p:column>
<p:column>#{l}</p:column>
</p:selectOneMenu>
</h:panelGrid>
ManagedBean (imageBean) имеет
public List<String> getImageList () {
List<String> imageList = new ArrayList<String>();
File[] files = absoluteImageFolder.listFiles();
for (File file : files) {
imageList.add(file.getName());
}
return imageList;
}
а также
private String selectedImage;
public String getSelectedImage() {
return selectedImage;
}
public void setSelectedImage(String selectedImage) {
this.selectedImage = selectedImage;
}
Тем не менее, изображения не отображаются на веб-странице, только имена файлов (я бы опубликовал скриншот, но мне не хватает репутации). Я не получаю два столбца (сначала изображение, затем имя файла), я просто получаю само имя файла.
Когда я оборачиваю имя файла Strings в POJO и использую конвертер, он работает - но только со Strings это не так.
Как я могу заставить это работать только со строками?