2010-11-23 4 views
0

facelet에 이미지를 표시하려고하는 특정 시나리오에 대해 표시 할 primefaces 다이나믹 그래픽 이미지를 가져 오는 데 문제가 있습니다. 페이지 (데이터베이스에서 검색)이고 페이지는 URL (h : commandLink가 아닌)에 의해 호출됩니다. h : commandButton을 통해 처리 된 요청이있는 다른 페이지에서도 작동합니다. 그러나 모든 데이터하지만 이미지가 다음과 같은 시나리오 나타납니다 ...Primefaces : URL에서 페이지를 호출 할 때 graphicImage가 표시되지 않습니다 (non <h : commandLink)

  1. fundraiseView.xml (facelet 페이지) HTML ... P : graphicImage 값 = "# {fundraisePage.picture}"/ ... /html로

  2. FundraisePage

    @ManagedBean 
    @RequestScoped 
    public class FundraisePage extends BackingBean { 
    
    
        @EJB DataSBLocal dataSB; 
        StreamedContent picture; 
    
    
        @ManagedProperty(value="#{param.id}") 
        private int id; 
    
    
        @PostConstruct 
        public void init() { 
        this.fundRaiseEO = dataSB.getFundRaiseIndividual(id); 
        InputStream inputStream = new ByteArrayInputStream(this.fundRaiseEO.getPicture()); 
        this.setPicture(new DefaultStreamedContent(inputStream, "image/jpeg")); 
        } 
    
  3. I를 (요청은 요청 PARAM와 콩을 백업의 범주가 지정된) http://...../faces/fundraiseView.xml?id=1을 통해 페이지를 호출하면 ID 1에 대한 모든 데이터를 표시하지만 그림을 표시하지 않고 페이지가 반환됩니다. 나는 그것이 내가 페이지를 호출하는 방법과 관련이 있다고 확신한다. (나는 다른 곳에서 작업하고 있기 때문에) 그러나 JSF 랩 태그 밖에서 시작된 요청 일 필요가있다.

모든 통찰력이나 제안은 대단히 감사하겠습니다.

감사합니다, 조나단

답변

1

다른 스레드에서 답을 찾을.

Loading a set of images with primefaces

제가 태그 (F)를 사용하는 데 필요한 : PARM 이름 = "ID"값 = "#을 {fundraisePage.id가}의"P 내 : graphicImage 태그가 조회 PARAM 같은 ID를 받아들이도록. 물론 ... 속성이 방법에 이미지 태그의 값을 변경

StreamedContent 공개 된 GetImage() {

 FundRaise fundRaiseEO = new FundRaise(); 
    fundRaiseEO = dataSB.getFundRaiseIndividual(id); 
    return new DefaultStreamedContent(new ByteArrayInputStream(fundRaiseEO.getPicture()), "image/jpeg"); \\ or whatever your image mime type. 

}

관련 문제