2010-11-23 10 views
0

faceletに画像を表示しようとしている特定のシナリオで表示するprimefaces dyanmicグラフィック画像を取得する際に問題があります。 (データベースから取得)、ページはURL(h:commandLinkではなく)によって呼び出されます。これは、h:commandButtonで処理されたリクエストを持つ他のページでも機能します。しかし、すべてのデータが、画像は、次のシナリオで表示され...Primefaces:URLからページを呼び出すときにgraphicsImageが表示されない(非<h:commandLink)

  1. fundraiseView.xml(にfaceletページ) HTML ... P:graphicImageは値= "#{fundraisePage.picture}"/ ... /htmlの

  2. FundraisePage(要求は、要求のparamとバッキングBeanスコープ)

    @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 http://...../faces/fundraiseView.xml?id=1経由でページを呼び出すと、id 1のすべてのデータが表示されますが、画像は表示されません。私はページを呼び出す方法と関係があると確信していますが(私はそれ以外のところで働いています)、JSFのラップされたタグの外でリクエストを開始する必要があります。

洞察力や提案は非常に感謝しています。

おかげで、 ジョナサン

答えて

1

は別のスレッドで答えを見つけました。

Loading a set of images with primefaces

Iは、タグF使用する必要が:P内PARM名= "ID" 値= "#{fundraisePage.idを}":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. 

}

関連する問題