You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend fileDownload tag, FileDownloadTagHandler, FileDownloadActionListener, StreamedContent, DefaultStreamedContent. The main goal is to generate a zip file of many StreamedContents.
Allow to add childs of type StreamedContent to the new ZipStreamedContent (extends StreamedContent). ZipStreamedContent zips all containing childs of type SreamedContent.
Allow to handle byte arrays (byte[]) as content and not only InputStream.
FileDownloadActionListener should distinguish between StreamedContent and ZipStreamedContent. It should zip files and generate zipped output if "file" implements ZipStreamedContent.
FileDownloadActionListener should be able to be used in portlet environment (no direct access to reqiest object!).
Add a new attribute "responseHeader" to the tag fileDownload which accepts a single value, an array, a collection or list of string(s). Possible response headers are e.g. Cache-Control and Pragma. FileDownloadTagHandler should be extended to this attribute.
Don't forget to check in action listener if response was completed. If yes ==> return from action listener. Call facesContext.responseComplete() (s. PF's FileDownloadActionListener) is not enough because events are queued and all action listeners are called in INVOKE_APPLICATION phase until the phase finished (regardless of set flags). At the end of each phase UIViewRoot.clearFacesEvents() is called, checks set flags and clears queued events if nessesary.
Extend fileDownload tag, FileDownloadTagHandler, FileDownloadActionListener, StreamedContent, DefaultStreamedContent. The main goal is to generate a zip file of many StreamedContents.
Don't forget to check in action listener if response was completed. If yes ==> return from action listener. Call facesContext.responseComplete() (s. PF's FileDownloadActionListener) is not enough because events are queued and all action listeners are called in INVOKE_APPLICATION phase until the phase finished (regardless of set flags). At the end of each phase UIViewRoot.clearFacesEvents() is called, checks set flags and clears queued events if nessesary.
PF related bug http://code.google.com/p/primefaces/issues/detail?id=1656
By the way, iframe will not solve problem with ajaxified components. FileDownload cann't be ajaxified.
The text was updated successfully, but these errors were encountered: