Strust 2ファイルダウンロード
ダウンロードをアップロードする機能に出会うたびに、比較的多くの工夫を凝らして再編成する必要がありますが、今日はいっそ自分でよく使う方法をまとめました.
1.JSPページの書き方
2.アクションの書き方
1.JSPページの書き方
2.アクションの書き方
private String fileName;
private String dataName;
public String getFileName() {
//
ServletActionContext.getResponse().setHeader("charset","ISO8859-1");
try {
return new String(this.fileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return "";
}
}
public void setFileName(String fileName) {// ,
dataName = fileName;
this.fileName = "test.sql";
}
public InputStream getInputStream(){
String dbName = "java"+dataName;
ExportMysql ex = new ExportMysql();
ex.exportMysql("e://", dbName);
try {
return new FileInputStream("e://java"+dataName+".sql");
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
public String execute() throws IOException {
return SUCCESS;
}
3.struts.xmlファイルの構成 <action name="fileDownload"
class="com.test.action.filedown.FileDownloadAction">
<result name="success" type="stream">
<!-- , , :application/octet-stream;charset=ISO8859-1 , charset, ; -->
<param name="contentType">
application/octet-stream;charset=ISO8859-1
</param>
<param name="contentDisposition">attachment;filename="${filename}"</param>
<!-- ,downloadFileName
action getDownloadFileName() ${downloadFileName}, action ${} , +action. getDownloadFileName()。 -->
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
</result>
</action>
基本的なフレームワークはこのようなもので、しばらくはその原理がよく分からないので、ゆっくり熟知してからこの文章を修正してください.軽く撮ってください.