diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java index 226fb70f0..7ea7fe368 100644 --- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java +++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java @@ -147,7 +147,7 @@ public class FreemarkerResult extends StrutsResultSupport { try { final boolean willUseBufferedWriter; if (useBufferedWriter != null) { - willUseBufferedWriter = Boolean.parseBoolean(useBufferedWriter); + willUseBufferedWriter = isUseBufferedWriter(); } else { willUseBufferedWriter = isWriteIfCompleted() || template.getTemplateExceptionHandler() == TemplateExceptionHandler.RETHROW_HANDLER; } @@ -370,4 +370,15 @@ public class FreemarkerResult extends StrutsResultSupport { public void setWriteIfCompleted(boolean writeIfCompleted) { this.writeIfCompleted = writeIfCompleted; } + + public boolean isUseBufferedWriter() { + return useBufferedWriter != null && Boolean.parseBoolean(useBufferedWriter); + } + + /** + * @param useBufferedWriter template is processed and flushed according to freemarker library policies + */ + public void setUseBufferedWriter(String useBufferedWriter) { + this.useBufferedWriter = useBufferedWriter; + } }