[ 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]