Details
Description
The ResourceDispatcher is invoked outside of JSF lifecycle but we should avoid working with the FacesContext since this is not a JSF request. Instead, we should make the HttpServletRequest, HttpServletResponse, and ServletContext available to the application code.
Activity
| Field | Original Value | New Value |
|---|---|---|
| Summary | Access FacesContext from ice:OuputResource open() | Access FacesContext from ice:outputResource open() |
| Salesforce Case | [5007000000JOK5q] |
| Summary | Access FacesContext from ice:outputResource open() | Make the HttpServletRequest, HttpServletResponse, and ServletContext APIs public |
| Component/s | Framework [ 10013 ] | |
| Component/s | Components [ 10012 ] | |
| Fix Version/s | 3.0 [ 10241 ] | |
| Affects | [Documentation (User Guide, Ref. Guide, etc.)] | |
| Assignee Priority | P1 | |
| Assignee | Mircea Toma [ mircea.toma ] |
| Status | Open [ 1 ] | Closed [ 6 ] |
| Affects | [Documentation (User Guide, Ref. Guide, etc.)] | |
| Assignee Priority | P1 | |
| Resolution | Won't Fix [ 2 ] |
I do not see how making HttpServletRequest and HttpServletResponse available to the ice:outputResource user solve the problem in this case.
The simplest solution would be to push an update, this way a new FacesContext will be created without the messages put in the previous one. The update will thus clear the messages rendered previously.