タイトルの通りです。どなたかやり方を知っている方はいらっしゃいませんでしょうか?よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
度々、JSFには詳しくないので、一般論でごめんなさいですが。
byte[]でイメージ登録をすると、HTMLの制約上、ファイルでの要求と応答にならざるを得ません。
画面のリクエスト
-> (サーバ応答(イメージタグを含んだ応答))
-> ブラウザがレンダリング
--> (ブラウザがimgタグ内容をリクエスト)
--> (サーバ応答(ファイル))
-> 画面応答完了
と言った流れで実装するのが一般的だと思われます(推定)。
(私はbyte[]管理している画像の表示は上記のように実装しています。)
ゆえに、
・ JSPでは、imgタグで、src='/(contextpath)/imageAction?imageId={可変値}'のような可変タグを準備
・ サーバ側では、送られてきたパラメータを受け、byte[]を、ファイルダウンロードさせる(ここではimageAction)ような応答を書きます。
このサーバ側の応答で、レスポンスヘッダに適切な値を書くことでイメージが描画されるはずです。
strutsなら専用アクションを設け、アノテーションで書くのですが、
jsfだと、ダウンロードメソッドを設け、レスポンスヘッダにファイルだの応答だのを書き込むようです。
(ここが怪しい・・。頼りない回答で申し訳ない。)
投稿2016/12/14 02:14
総合スコア716
0
わかりやすいJava EEを参考にしたらできました。
投稿2016/12/14 08:28
総合スコア78
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。