Struts 2アノテーションを使用してファイルをダウンロードする例を誰かが手伝ってくれるかどうか尋ねたい.
アクションクラスでこれを試しました
public class MyClass {
private InputStream fileInputStream;
private String fileName;
@Override
@Action(AbstractBasisAction.VIEW)
public String view() {
System.out.println("HoursCycleDownloadFrameAction: view");
super.view();
return SUCCESS;
}
public InputStream getFileInputStream() {
return fileInputStream;
}
@Action(value = "downloadFile", results = { @Result(name = "success", type = "stream", params = { "contentType", "application/octet-stream", "inputName", "fileInputStream", "contentDisposition", "filename=\"${fileName}\"", "bufferSize", "1024" }) })
public String downloadFile() throws Exception {
fileName = "license.txt";
fileInputStream = new FileInputStream(new File("C:\\", fileName));
return SUCCESS;
}
}
これが私のページの内容です
<s:url id="fileInputStream" namespace="/myClass" action="downloadFile" ></s:url>
Download file - <s:a href="%{fileInputStream}">lisence.txt</s:a>
しかし、今の問題は、アクションメソッド名でファイルをダウンロードすることです。ファイル名が downloadFile.action であることを意味します。誰でもそれで私を助けることができますか?