Estaba tratando de mostrar un panel donde el usuario puede ver una lista de categorías de artículos (se muestran como imágenes) y al hacer clic pueden ver productos dentro de la categoría (se mostrarán las imágenes)Cómo usar <p: graphicImage> con DefaultStreamedContent en un ui: ¿repetir?
Para mostrar la categoría del elemento, i se utiliza la interfaz de usuario: repetir la nad calss frijol apoyo A continuación se muestra el código XHTML
<ui:repeat id="repeat" value="#{getData.images}" var="img" varStatus="loop">
<h:panelGroup>
<p:graphicImage id="img1" value="#{img}" alt="image not available" >
</p:graphicImage>
</h:panelGroup>
</ui:repeat>
Y las partes de código de bean administrado
private ByteArrayOutputStream baos = new ByteArrayOutputStream();
private List<StreamedContent> imageList = new ArrayList<StreamedContent>();
public List<StreamedContent> getImages(){
for (int i = 0; i < sdh.getNumOfImages(); i++) {
imageID = imageIDArray.get(i);
ImageService imgSer = new ImageService();
imgList.add(imageID);
imgSer.setData(imageID);
baos = imgSer.getImage();
try {
imageList.add(new DefaultStreamedContent(new
ByteArrayInputStream(baos.toByteArray())));
} catch (Exception ex) {
ex.printStackTrace();
}
}
imageNum = 0;
return imageList;
}
public StreamedContent getData() {
baos = imageList.get(imageNum);
//imageList.add(baos);
imageNum++;
return new DefaultStreamedContent(new ByteArrayInputStream(baos.toByteArray()));
}
Ahora mi problema si no lo hago º uncomment e 'imageList.add (baos)' en 'getData', las imágenes no se muestran. Ahora realmente quiero saber cómo funciona el 'ui: repeat', ya que 'imageList' contiene las imágenes y puedo guardar el mismo si es necesario en cualquiera de los métodos. Si especifico un número fijo (por ejemplo, 'imageList.get (0)') en el método 'getData', la misma imagen se mostrará varias veces. Donde como si puse el 'imageNum' sin el 'imageList.add (baos)' arrojó error 'Error en la transmisión de recurso dinámico'
Me cansé de la sugerencia de Bjorn Pollex e hice los cambios necesarios, pero ahora las imágenes no aparecen
No se hace referencia a la loop-variable ('img' en su caso) dentro de su' '. Su 'getImages' debería devolver' List ', y su' 'debería tener' value = "# {img}" '. –