Your original VTL amounted to #if ( null != "" ) when there was no
attribute value. The fact that this evaluated as false was a bug,
since null doesn't equal the empty string. Several little, obscure
comparison bugs like this were fixed prior to 1.6.2. I don't recall,
though, under which commit/JIRA Issue this fix was registered in the
changelog.
On Mon, Jun 15, 2009 at 3:19 PM, sebb<
sebbaz@...> wrote:
> Thanks for the suggestions which work fine.
>
> There seems to have been a change in behaviour since version 1.5.1,
> but I could not find it in the release notes. Can anyone confirm this?
>
> On 14/06/2009, Nathan Bubna <
nbubna@...> wrote:
>> That should be:
>>
>> #if( "$!items.getAttributeValue('required')" != "" )
>>
>> Or just $!items.getAttributeValue('required') if you don't mind
>> showing empty strings.
>>
>> Or if you really want to clean up the look:
>>
>> public class AltTool {
>> public Object empty(Object val, Object alt) {
>> return (val == null || val.toString().length() == 0) ? alt : val;
>> }
>> }
>> context.put("alt", new AltTool());
>>
>> $alt.empty($item.getAttributeValue('required'), 'No')
>>
>>
>> On Sat, Jun 13, 2009 at 5:39 AM, Jude
>> Robinson<
dotcode+velocity@...> wrote:
>> >> Is there a better way to handle optional attributes?
>> >
>> > "!$items.getAttributeValue('required')" != ""
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
user-unsubscribe@...
>> > For additional commands, e-mail:
user-help@...
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
user-unsubscribe@...
>> For additional commands, e-mail:
user-help@...
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
user-unsubscribe@...
> For additional commands, e-mail:
user-help@...
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail:
user-unsubscribe@...
For additional commands, e-mail:
user-help@...