Index: core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java =================================================================== --- core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java (revision 24120) +++ core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java (working copy) @@ -91,32 +91,10 @@ this.isAjaxRequest = isAjaxRequest; } - @Override - public PartialResponseWriter getPartialResponseWriter() { - PartialResponseWriter defaultWriter = wrapped.getPartialResponseWriter(); - if (!EnvUtils.isICEfacesView(facesContext)) { - return defaultWriter; - } - - if (null == partialWriter) { - try { - //TODO: need to revisit the strategy for getting the "raw" output writer directly - Writer outputWriter = getResponseOutputWriter(); - ResponseWriter basicWriter = new BasicResponseWriter(outputWriter, - defaultWriter.getCharacterEncoding(), - defaultWriter.getContentType()); - partialWriter = new PartialResponseWriter(basicWriter); - } catch (Exception e) { - e.printStackTrace(); - } - } - return partialWriter; - } - - @Override public void processPartial(PhaseId phaseId) { + facesContext.getAttributes().put(DOMPartialViewContext.class.getName(), "processPartial"); if (!EnvUtils.isICEfacesView(facesContext)) { wrapped.processPartial(phaseId); return; Index: core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java =================================================================== --- core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java (revision 24120) +++ core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java (working copy) @@ -145,10 +145,15 @@ } public ResponseWriter createResponseWriter(Writer writer, String contentTypeList, String encoding) { + FacesContext facesContext = FacesContext.getCurrentInstance(); ResponseWriter parentWriter = delegate.createResponseWriter(writer, contentTypeList, encoding); - if (!EnvUtils.isICEfacesView(FacesContext.getCurrentInstance())) { + if (facesContext.getPartialViewContext().isPartialRequest()) { return parentWriter; } + if (!EnvUtils.isICEfacesView(facesContext)) { + return parentWriter; + } + return new DOMResponseWriter(parentWriter, parentWriter.getCharacterEncoding(), parentWriter.getContentType()); }