Я использую Struts2, Spring и Hibernate.
Я написал простой файл Excel под названием test.xls с POI. Когда я запускаю действие, оно работает, потому что появляется test.xls, но в моей папке tomcat.
Я хочу, чтобы этот файл был загружен на моей странице JSP. Как мне заставить пользователя загрузить файл .xls? Скорее, как я называю этот путь?
Извините, если ответ очевиден, я новичок в этом. Я знаю, что это, вероятно, связано с ServletContext или HttpServletRequest?
[править] Я заработал, благодаря приведенным ниже ответам. Вот рабочий код:
private InputStream excelStream;
public String export(){
//Create excelfile
HSSFWorkbook workbook = new HSSFWorkbook();
FileOutputStream file = null;
try{
file = new FileOutputStream("poi-test.xls");
}
catch(IOException e){
e.printStackTrace();
}
//Populate workbook with all the excel stuff
...
//Write to file
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try{
workbook.write(file);
workbook.write(baos);
ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray());
excelStream = bis;
}
catch(IOException e){
e.printStackTrace();
}
return "excel";
}
public InputStream getExcelStream() {
return excelStream;
}
public void setExcelStream(InputStream excelStream) {
this.excelStream = excelStream;
}
В моем файле распорок:
<result name="excel" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="inputName">excelStream</param>
<param name="contentDisposition">attachment; filename="excelExport.xls"</param>
<param name="bufferSize">1024</param>
</result>