2012-01-03 3 views
1

現在Stripesで作業していますが、特定のUserオブジェクトJavaBean(Email、First Name、Last Name、Blobイメージ)をロードするActionBeanがあります。 URLのパラメータ。 このActionBeanは、ActionBeanを使用し、Userオブジェクトインスタンス(ActionBeanのプロパティ)にアクセスすることによって、これらの情報を表示するJSPページに転送します。jspの画像(バイト配列)をストライプで動的に表示する

テキストデータ(電子メール、名字、姓)を表示するのに問題はありませんが、Blobイメージ(バイト配列)をどのように動的に表示できるかわかりません。

Stripes Tag libのタグを使用して、現在のActionBeanからイメージをロードしてページがロードされたときに表示するイベント(解像度)をロードする方法はありますか?

私は...私はタグのsrcとして、ユーザーのJavaBeanから解像度(イベント)を呼び出すことができますが、彼は動作していないよう事前に

public Resolution loadPicture(){ 
    StreamingResolution sr = null; 

     return sr = new StreamingResolution("image/jpeg") { 
      public void stream(HttpServletResponse resp) throws Exception { 
       OutputStream os = resp.getOutputStream(); 
       os.write(this.user.getBlob()); 
       os.close(); 
      } 
     }; 
} 

感謝を考えました!

答えて

3

これはHTTPとHTMLの仕組みではありません。要求がHTMLコードをロードするために使用されます。このHTMLコードにはさまざまな<img src="..." />タグが含まれており、という新しいというリクエストが各画像を読み込むようになっています。 imgタグを持つHTMLを生成して、srcがStripesアクションを指すようにする必要があります。このアクションは、画像をロードしてレスポンスにストリームします。

StreamingResolutionはこのアクションを実装する正しいアプローチですが、アクションは別のリクエストから呼び出される必要があります。

+0

ありがとうございます!私はそれを知っている! – Thomy

関連する問題