こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

struts2 ファイル アップロード

今、ファイルのアップロードのプログラム開発を行なっておりますが
アップロードのボタンを押すとHTTPステータス500のエラーで実行ができません。
詳しい方、間違っている箇所のご指摘宜しくお願い致します。
プログラムは以下の通りです。(JAVAは一部削除しています)
(JSP)
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page pageEncoding="Windows-31J" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@taglib prefix="original" uri="/original-tags" %>
<%@taglib prefix="originalJK" uri="/original-JK-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
%@ include file="html-head.jsp" %>
<script type="text/javascript">
</script>
</head>
<body onload>
<%@ include file="HeaderTitle.jsp" %>
<div class="navigation" align="right">
<originalJK:CommonLinkTag mode="2" /><br>
</div>
<br>
<s:form enctype="multipart/form-data">
<table width="100%">
<tr>
<td>
<INPUT type=file name="upload">
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
<s:submit value="EXCELアップロード" cssClass="form_button" action="tEST11A" method="doUpload" onclick="return confirm('アップロードしてよろしいですか。');"/>
</td>
</tr>
</table>
</s:form>
</body>
<html>
(JAVA)
@ParentPackage(value = "Original")
@Results({ @Result(name = "success", value = "jsp/TEST11A.jsp"),
@Result(name = "failure", value = "jsp/TEST11A.jsp") })
public class TEST11AAction extends SuperAction {
private String aBtnUpdateMsg = "";
private File upload;
private String uploadContentType;
private String uploadFileName;
public String execute() throws Exception {
return "success";
}
public String doUpload() throws Exception {
try {
// DBコネクションオープン
vDb.open();
TEST11ADao vDao = new TEST11ADao(vDb);
int vCount = 0;
//データ存在チェック
vCount = vDao.dbCntLine();
FileInputStream fis = new FileInputStream(upload);
POIFSFileSystem fs = new POIFSFileSystem(fis);
// ワークブック・オブジェクトの取得
HSSFWorkbook wb = new HSSFWorkbook(fs);
// 総ワークシート数の取得
int sheets = wb.getNumberOfSheets();
// ワークシートごとに、データを取得
int idx = 0;
for (int sheetIdx = 0; sheetIdx < sheets; sheetIdx++ ) {
//コミット
vDb.commit();
} finally {
// DBクローズ
vDb.close();
}
return "success";
}
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}

マルチメディアファイルは削除されたか見つかりません。

投稿日時 - 2009-07-09 22:58:23

QNo.5112731

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

tryの中を
vDb.open();
以外コメントアウトしてみてエラーが出ないことを確認し
一行づつ順にコメントアウトを外していき
エラーになった時点における直前に
コメントアウトを外した行がバグの原因だと思われる。

投稿日時 - 2009-07-10 11:45:11

補足

早速のご回答ありがとうございます。
アップロードにつきましてはご回答者様の言われる通り
実行してみたいと思います。ありがとうございました。
このプログラムで検索の機能もつけているのですが
enctype="multipart/form-dataをつけるとHTTP500のエラーが出力され
enctype="multipart/form-dataをはずすとデータベースより検索ができます。またアップロードもenctype="multipart/form-dataをつけた時と
つけないときでは添付の例外内容がかわっています。
これはそのようなことかわかりますでしょうか?。
宜しくお願い致します。

投稿日時 - 2009-07-10 17:06:10

ANo.1

エラーとか例外のログは出ていませんか?

投稿日時 - 2009-07-10 09:37:30

補足

早速の返信ありがとうございます。
例外は添付の通りです。
宜しくお願い致します。

投稿日時 - 2009-07-10 16:57:02

あなたにオススメの質問