Ich versuche, eine Primefaces 5.2 selectOneMenu zu erhalten, Bilder zusammen mit ihren Dateinamen anzuzeigen. Dies ist, was zur Zeit mein xhtml wie folgt aussieht:p: selectOneMenu nicht benutzerdefinierten Inhalt über p: Spalte auf Liste <String>
<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>
Die ManagedBean (imageBean) jedoch
public List<String> getImageList() {
List<String> imageList = new ArrayList<String>();
File[] files = absoluteImageFolder.listFiles();
for (File file : files) {
imageList.add(file.getName());
}
return imageList;
}
und
private String selectedImage;
public String getSelectedImage() {
return selectedImage;
}
public void setSelectedImage(String selectedImage) {
this.selectedImage = selectedImage;
}
hat, werden die Bilder nicht auf die gerenderte Webseite, nur die Dateinamen (ich würde einen Screenshot posten, aber ich habe nicht genug Reputation). Ich bekomme keine zwei Spalten (zuerst das Bild, dann den Dateinamen), ich bekomme nur den Dateinamen selbst.
Wenn ich den Dateinamen Strings in ein POJO wickeln und einen Konverter verwenden, funktioniert es - aber nur mit Strings tut es nicht.
Wie kann ich dies mit nur Strings arbeiten?
Keine 404s im Protokoll - auch die gleichen URLs funktionieren, wenn ich eine Wrapper-Klasse um die Dateinamen-Strings . Wenn ich einen Hinweis in den Logbüchern gefunden hätte, die ich interpretieren konnte, hätte ich nichts gepostet. – Ginkobonsai
Entschuldigung, ich will damit nicht sagen, dass es keine Hinweise in den Logs gibt, nur dass ich keine erkennen kann. Kannst du mir einen Hinweis geben, wonach ich suche (außer 404, für die ich überprüft habe)? Was mich auch verwirrt, ist, dass das Ändern von Dingen auf der Serverseite (Hinzufügen der Wrapper-Klasse) es funktioniert. – Ginkobonsai
Nein, das gewünschte Element endet nicht in der HTML-Ausgabe - es wird weggelassen. Stattdessen erhalte ich nur den Text (Dateiname).Wenn ich die Wrapper-Klasse verwende, bekomme ich das -Tag ohne Probleme. – Ginkobonsai