ExcelExport - correct name for the downloaded file
--------------------------------------------------

                 Key: TOMAHAWK-979
                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-979
             Project: MyFaces Tomahawk
          Issue Type: Bug
    Affects Versions: 1.1.5
         Environment: Suse Linux 10.0 - with Firefox 1.5.0.10
            Reporter: Emil Cazacu
            Priority: Minor
             Fix For: 1.1.5


I started from the example presented in the public site.

I click on the button, a new page is poped, then that page is blank.
Without knowing what happened, the file is saved in the background where it 
usualy saves the downloaded files.

I come with a correction for the class ExcelExportPhaseListener

  private void writeExcelOutput(
      HSSFWorkbook workBook,
      HttpServletResponse response,
      HtmlDataTable dataTable) throws IOException {

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control", "must-revalidate, post-check=0, 
pre-check=0");
    response.setHeader("Pragma", "public");
    response.setHeader("Content-disposition", "attachment;filename=" + 
dataTable.getId() + ".xls");

    workBook.write(response.getOutputStream());
  }

Changes in behavior:
- the downloaded file is named using the id of the component prefixed with .xls
- a popup is presented to allow us between the options "run / save as"

Changes in code:
- the headers, very important being the "Content-disposition"
- the number of the arguments is changed.

I have previous experience with downloading excel file but using servlets.
I am using JSF but writing JSF exceeds my knowledge.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to