You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/09/13 09:49:04 UTC

[03/36] incubator-freemarker git commit: FREEMARKER-55: use nested content parameter instead of variable

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 <wo...@apache.org>
Authored: Tue Aug 29 14:58:34 2017 -0400
Committer: Woonsan Ko <wo...@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