ここから本文です

Strutsを使い、WEBアプリケーションを開発しております。Actionクラスで画像ファイ...

sno********さん

2012/1/2314:59:38

Strutsを使い、WEBアプリケーションを開発しております。Actionクラスで画像ファイルを読み込み、JSPで表示させたいです
Widows Vista
struts-1.3.10
Jdk 1.6
Eclipse 3.3
My SQL 5

Javaスクリプトのボタンを押下したら、アクションクラスで画像を読み込み
JSPで表示させたいのですが、
JSPの呼び出し側の書き方と画像を表示させるJSPの書き方がどうしてもわかりません。
ご教授ください。

■アクションクラス
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ViewerJpeg extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {

response.setContentType("image/png");
File f = new File("画像ファイルのパス");
BufferedImage image = ImageIO.read(f);
OutputStream os = null;
try{
os = response.getOutputStream();
ImageIO.write(image,"png",os);
os.flush();
}finally{
if(os!=null){
os.close();
}
}
return mapping.findForward("success");
}

■呼び出し側JSP
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html:html>
<head>
<script language="JavaScript"><!--
function myEnter(){
myRet = confirm("作成した画像を表示しますか?");
if ( myRet == false )
alert("キャンセルしました。");
}
// --></script>
</head>
<body style="
background-image : url(SH_2ZO120.jpg);
background-repeat : repeat-y repeat-x">
<title>CCCCC</title>
<table>
<tr>
<td><font size="8">作成完了しました。</font></td>
</tr>
</table>
<html:form action="/ViewerJpeg " >
<html:button property="bt" value="スコアブック表示" onclick="myEnter()"/>→ここをクリックするとWindowがたちあがり、画像を読み込む
</html:form>
</body>
</html:html>


出力側JSP
未実装

補足早速のご回答ありがとうございます。
JavaScriotでOKを押したら、JSPが遷移するということは無理ということなのでしょうか。
別に画像用のサーブレットを用意するとなると
JSP遷移させるサーブレットと画像用を記述するということでしょうか。
その場合のStruts-cofig_xlmの記述はどのような記述になるのでしょうか。
またそのときのJSPでの取得方法は
<img src="./<%=request.getParameter("XXXXXX") %>">
という記述になるのでしょうか

閲覧数:
4,648
回答数:
2

違反報告

ベストアンサーに選ばれた回答

mar********さん

2012/1/2317:06:48

snoooooooooooozeさん

JavascriptからStrutsを呼び出すのは以下の方法でできます。
http://blog.goo.ne.jp/xmldtp/e/64869e8ad4f07776ecb326c384aa67d9

画像の表示ですが、
画像を表示したい場合は、ファイルを保存してJSPで表示するか、
http://struts.wasureppoi.com/taglib/03_img.html

そのままresponseに書き込んで表示するかだと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39192&forum...


後者の場合、

質問した人からのコメント

2012/1/25 13:38:26

参考にします、ありがとうございました

ベストアンサー以外の回答

1〜1件/1件中

xia********さん

編集あり2012/1/2315:20:27

ボタンを押したら出力側JSPに遷移するのなら
Actionクラスはいつも通りJSPに移るしか無いでしょう。
別に画像用のサーブレットを用意したらいかがですか?
どの画像を送り出すかはActionで決めた物を出力側JSPの
img src= で、あるいはセッション経由で指定出来ませんか?

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる