Posted on 2009-01-06 17:30
云自無心水自閑 閱讀(2155)
評論(0) 編輯 收藏 所屬分類:
Java 、
心得體會 、
Struts2
Struts2的官方文檔看似琳瑯滿目,但實際上并不完備,許多細節問題并沒有深入涉及,部分內容甚至還有錯誤(可參見:http://m.tkk7.com/usherlight/archive/2008/12/30/249143.html)。這次主要是補充一下,使用了ZeroConfig插件情況下,如何返回Stream類型的配置。
在ZeroConfig+CodeBehind結合使用的情況下,Struts.xml中基本上已經空無一物了。配置基本上使用Annotation在Java的類中注釋完成。
@Parent("default")
@Result(name="rawFile", value="inputStream", type=StreamResult.class, params={"contentType", "text/html", "inputName", "inputStream", "", "", "bufferSize", "1024"})
public class FileDownloadAction {
public String execute() throws Exception {
inputStream = new FileInputStream("c:\\temp\\file.txt");
}
private InputStream inputStream;
//... getter and setter
}
這里最重要的是Result里面params的寫法,params后面的大括號中,奇數個字符串是key值,偶數個字符串是value值。
其中,inputName的值-inputStream要和Class中的InputStream的屬性名一致,而Result中的value的值也要與之一致。