Struts2 之 <result type="stream"></result>
舉例:
<!-- 產生隨機校驗碼 -->
<action name="randNum" class="com.yboffice.ebsso.randomnum.RandomNumAction"
method="validNumGenerate">
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
這是個關於產生驗證碼的action請求。
通過result的type=“stream”來處理。
參數說明:
contentType:指定文件類型,默認爲text/plain即純文本.(更多類型可查詢tomcat安裝目錄下的conf目錄的web.xml文件,例如application/vnd.ms-excel:Excel下載;application/octet-stream:文件下載),此處用image/jpeg:得到驗證碼圖片。
inputName:指定action中inputStream類型的屬性名稱,需要getter方法。
另有參數(例子未使用):
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
contentDisposition:指定文件下載的處理方式,包括內聯(inline)和附件(attachment)兩種方式,而附件方式會彈出文件保存對話框,
否則瀏覽器會嘗試直接顯示文件。取值爲:attachment;filename="${fileName}",表示文件下載的時候取名爲通過EL表達式進行獲取;如果只有
filename="${fileName}"如同inline;filename="${fileName}",瀏覽器會嘗試在線打開它;如果未指定filename屬性則以瀏覽器的頁面名作爲文件名。
bufferSize:輸出時緩衝區的大小
產生驗證碼的方法實現,需要的話可留意,這裏不在贅餘,網上也有很多。