SWF-1407 Update mvc.JsfView to re-use FacesContext if available such as when used from Web Flow

This commit is contained in:
Rossen Stoyanchev
2010-10-27 08:48:02 +00:00
parent e70bca23fb
commit 155649fd40

View File

@@ -32,6 +32,7 @@ import javax.faces.lifecycle.LifecycleFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.faces.webflow.FacesContextHelper;
import org.springframework.faces.webflow.JsfUtils;
import org.springframework.util.Assert;
import org.springframework.web.servlet.support.RequestContextUtils;
@@ -55,7 +56,8 @@ public class JsfView extends AbstractUrlBasedView {
protected void renderMergedOutputModel(Map model, HttpServletRequest request, HttpServletResponse response)
throws Exception {
FacesContext facesContext = createFacesContext(request, response);
FacesContextHelper facesContextHelper = new FacesContextHelper();
FacesContext facesContext = facesContextHelper.getFacesContext(getServletContext(), request, response);
populateRequestMap(facesContext, model);
@@ -83,8 +85,7 @@ public class JsfView extends AbstractUrlBasedView {
facesLifecycle.render(facesContext);
} finally {
logger.debug("View rendering complete");
facesContext.responseComplete();
facesContext.release();
facesContextHelper.releaseIfNecessary();
}
}