You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Henning Schmiedehausen (JIRA)" <de...@velocity.apache.org> on 2007/03/08 01:04:35 UTC
[jira] Closed: (VELOCITY-186) #set does not allow to assign
nulls---cannot it be changed?
[ https://issues.apache.org/jira/browse/VELOCITY-186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Henning Schmiedehausen closed VELOCITY-186.
-------------------------------------------
> #set does not allow to assign nulls---cannot it be changed?
> -----------------------------------------------------------
>
> Key: VELOCITY-186
> URL: https://issues.apache.org/jira/browse/VELOCITY-186
> Project: Velocity
> Issue Type: Improvement
> Components: Engine
> Affects Versions: 1.3.1
> Environment: Operating System: All
> Platform: All
> Reporter: Tomislaw Kitynski
> Assigned To: Will Glass-Husain
> Priority: Minor
> Fix For: 1.5
>
> Attachments: patchfile.txt
>
>
> Currently #set does not change $ref if the value is null. To quote manual: "If
> the RHS evaluates to null, it is not assigned to the LHS". It has some
> advantages, but well, it has also disadvantages.
> In my concrete case, I have #foreach loop, where I list some items.
> Unfortunatley, the listing (I mean the output) heavily depends on values of
> some fields. Considering I have #foreach $item in $items I have to call
> $item.foo or $item.bar every time I need to check if the value is set or not.
> Instead I'd prefer to #set ($foo = $item.foo) a.s.o. and to use just $foo in
> further processing instead of calling $item getFoo() method all the time---
> it's not only about ease of writting, it's also about the time it takes to
> invoke that method, plus the time of what this metod really does (it's not
> always just simple return this.foo statement).
> Of course I would not like to break the compatibility of the #set behaviour,
> but I wonder if would be there a way to actually add the possibility to set
> some $ref to null, what would casue #if ($ref) to evaluate as false.
> Currently, using #set causes, that if we step on $item.foo that returns null,
> we have $ref set to the value of a previous $item. The workaround is to use
> $item.foo everywhere, but it's not very comfortable. Can it be done something
> about that? Maybe on option in velocity.properties enabling of returning nulls
> or new operator (instead of '=') to assign null values (like ':=' for example).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org