Struts2アプリケーションでfileuploadプロセスを実行しています。私がfilenameとcontenttypeを動作クラスに表示すると、nullポインタの例外が表示されます。Struts2のFileuploadプロセスでのヌルポインタ例外
私はjarファイルを含み、次のコードを使用しています。 Upload.jsp Actionクラスで
<s:form action="saveBulkStores.action" method="POST" enctype="multipart/form-data">
<s:actionmessage name="message"/>
<s:label value="File Name : *" />
<s:file name="upload" label="File" size="40"/>
<br>
<br>
<s:submit name="ADD" value="UPLOAD"/>
<input type="button" onClick="cancelFunction()" name="Cancel" value="Cancel" tabindex="10">
</s:form>
struts.xmlで
<action name="saveBulkStores" class="com.rewardz.action.FilesUploadAction" method="saveBulkStores">
<interceptor-ref name="fileUpload">
<param name="maximumSize">52428800</param>
</interceptor-ref>
<interceptor-ref name="basicStack"/>
<result name="input">/uploadfile.jsp</result>
<result name="viewFile">/viewfile.jsp</result>
<result name="Reload">/uploadfile.jsp</result>
</action>
で
:SERVER.LOGで
private File file;
private String contentType;
private String filename;
public void setUpload(File file) {
this.file = file;
}
public void setUploadContentType(String contentType) {
this.contentType = contentType;
}
public void setUploadFileName(String filename) {
this.filename = filename;
}
public String saveBulkStores() throws IOException{
System.out.println("check Bulk upload file");
String filePath = request.getRealPath("/");
System.out.println("Server path:" + filePath);
System.out.println("UPLOADFILECONTENT TYPE:"+contentType);
System.out.println("UPLOADFILENAME:"+filename);
System.out.println("UPLOADFILE:"+file);
System.out.println("**********************************");
value = "viewFile";
System.out.println("Forward Value:"+value);
return value;
}
出力:(GlassFishのサーバーの使用)
check Bulk upload file
C:\glassfish3_installer\glassfish\domains\domain1\applications\My_Application\
UPLOADFILECONTENT TYPE:null
UPLOADFILENAME:null
UPLOADFILE:null
誰かがStruts2のアップロードプロセスでファイルパス、ファイルパスを取得するのを手伝ってください。
を解決しますので、あなたの代わりに、アップロードのファイルを使用して、プロパティファイルのファイルがある
..私は好きではないことを教えてくれるでしょう:私はカスタムスタックを使用するのが気に入らず、defaultStack(これは既にfileUploadを使用しています)を使用して戻り、struts形式でsaveBulkStoresを書くことができます(.action postfixはありませんが、それは簡単なことであり、実際には何の問題もありません)。 – Quaternion
もしあなたがそれを理解しなければ、struts2の慣習のプラグインを使って完全な実例を投稿することができました。 – Quaternion
私も同じ問題がありました。しかし 'struts.xml'のように' basicStack'が 'fileUpload'の後に含まれると解決されます。 –