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