[jira] [Commented] (VELOCITY-955) velocity 1.7 vs velocity 2.3 : the evaluation of if condition in script is different
"Claude Brisson (Jira)" <[email protected]>
| Newsgroups | gmane.comp.jakarta.velocity.devel |
|---|---|
| Message-ID | <[email protected]> |
[ https://issues.apache.org/jira/browse/VELOCITY-955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17876414#comment-17876414 ]
Claude Brisson commented on VELOCITY-955:
-----------------------------------------
You don't give the definition of the getToolscontext() method. I imagine that you are using velocity-tools, but we need more details.
The issue is probably linked to the org.apache.velocity.tools.userCanOverwriteTools web integration configuration parameter, see [tool's related configuration doc|https://velocity.apache.org/tools/3.1/frameworks.html].
> velocity 1.7 vs velocity 2.3 : the evaluation of if condition in script is different
> -------------------------------------------------------------------------------------
>
> Key: VELOCITY-955
> URL: https://issues.apache.org/jira/browse/VELOCITY-955
> Project: Velocity
> Issue Type: Bug
> Components: Scripting
> Affects Versions: 2.3
> Reporter: ambika
> Priority: Major
>
> *script used :*
>
> Map<String, Object> variables = new HashMap<>();
> variables.put("key1", "value");
>
> Context context = velocityEngine.getToolsContext(variables);
>
> String inString = "#set($value = \"key value false\")" +
> "#if(${key1} == 1 ||\"yes\" )" +
> " #set($value = \"{*}{{*}}key value true{{*}}{*}\")" +
> "#end\n${value}";
>
> inString = velocityEngine.evaluate(context, "tag", inString);
> System.out.println(inString);
>
>
> Output:
>
> older version output : key value true
>
> newer version output : key value false
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)