Как использовать с DefaultStreamedContent в ui:repeat?

Я был попытка отобразить панель, на которой пользователь может увидеть список категорий элементов (отображаемых в виде изображений), и при нажатии они могут просматривать продукты в категории (изображения будут отображаться)

Для отображения категории элементов я использовал ui:repeat над поддерживающей фасолью Ниже приведен мой код 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>

и части кода управляемого компонента

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()));
}

Теперь моя проблема, если я не раскомментирую файл 'imageList.add(baos)» в «getData», изображения не отображаются. Теперь я действительно хочу знать, как работает 'ui:repeat', поскольку 'imageList' содержит изображения, и я могу сохранить их, если потребуется, любым из методов. Если я укажу фиксированное число (например: 'imageList.get(0)') в методе 'getData', то одно и то же изображение будет отображаться несколько раз. Где, как если бы я поместил «imageNum» без «imageList.add (baos)», он выдает ошибку «Ошибка при потоковой передаче динамического ресурса»

. Я устал от предложения Бьорна Поллекса и внес необходимые изменения, но теперь изображения не появляются

9
задан BalusC 11 April 2016 в 19:33
поделиться