FREEMARKER-55: use nested content parameter instead of variable
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/b656f1e1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/b656f1e1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/b656f1e1 Branch: refs/heads/3 Commit: b656f1e1f7c1b0875526f2224db1fc793e1172d2 Parents: 19a3277 Author: Woonsan Ko <woon...@apache.org> Authored: Tue Aug 29 14:58:34 2017 -0400 Committer: Woonsan Ko <woon...@apache.org> Committed: Tue Aug 29 14:58:34 2017 -0400 ---------------------------------------------------------------------- .../apache/freemarker/spring/model/BindDirective.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/b656f1e1/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/BindDirective.java ---------------------------------------------------------------------- diff --git a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/BindDirective.java b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/BindDirective.java index 9ca7c6a..fb68384 100644 --- a/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/BindDirective.java +++ b/freemarker-spring/src/main/java/org/apache/freemarker/spring/model/BindDirective.java @@ -91,15 +91,11 @@ public class BindDirective implements TemplateDirectiveModel { resolvedPath = resolveNestedPath(resolvedPath); } - final TemplateModel oldStatusModel = env.getVariable(STATUS_VARIABLE_NAME); - - try { - BindStatus status = requestContext.getBindStatus(resolvedPath); - env.setVariable(STATUS_VARIABLE_NAME, new BeanModel(status, (DefaultObjectWrapper) objectWrapper)); - callPlace.executeNestedContent(null, out, env); - } finally { - env.setVariable(STATUS_VARIABLE_NAME, oldStatusModel); - } + //TODO: how to deal with htmlEscape when invoking #getBindStatus()? + BindStatus status = requestContext.getBindStatus(resolvedPath); + TemplateModel[] nestedContentArgs = new TemplateModel[] { + new BeanModel(status, (DefaultObjectWrapper) objectWrapper) }; + callPlace.executeNestedContent(nestedContentArgs, out, env); } @Override