사용자가 항목 카테고리 (이미지로 표시됨) 목록을 볼 수있는 패널을 표시하려고 시도했으며 범주를 클릭하여 제품을 볼 수 있습니다 (이미지가 표시됨)ui : repeat에서 <p : graphicImage>를 DefaultStreamedContent와 함께 사용하는 방법?
항목 카테고리를 표시하려면 UI를 사용 : 지원 콩 CALSS 아래는 내 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>
와 관리 콩 코드 부분입니다 NAD 반복을
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()));
}
이제 내 문제는 내가하지 주석 일을 할 경우 e 'imageList.add (baos)' 'getData'에서 이미지가 표시되지 않습니다. 이제는 'ui : repeat'가 어떻게 작동하는지 알고 싶습니다. 'imageList'에 이미지가 포함되어 있으므로 필요에 따라 이미지를 저장할 수 있기 때문입니다. getData 메소드에서 고정 숫자 (예 : 'imageList.get (0)')를 지정하면 동일한 이미지가 여러 번 표시됩니다. 'imageList.add (baos)'없이 'imageNum'을 넣은 것처럼 '동적 리소스 스트리밍 오류'오류가 발생합니다.
비욘 폴렉스의 제안에 지쳐서 피곤했지만 지금은 이미지가 나타나지 않습니다.
당신은을 참조되지 않습니다 루프 변수 (귀하의 경우에는'img')를''안에 넣으십시오. 'getImages'는'List '를 리턴해야하고,'
'는'value = "# {img}"'를 가져야합니다. –