|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Best way to handle optional attributes in 1.6.2I'm generating HTML using a Velocity style sheet with version 1.6.2
The source contains lots of elements which are used to generate table cell entries: <property name="Name" required="">Description</property> The "required" attribute is supposed to be "Yes" or "No", with a default of "No". The VSL currently has: <td> #if($items.getAttributeValue("required") != "") $items.getAttributeValue("required") #else No #end </td> This works OK provided that the "required" attribute is present, however I would like to treat a missing attribute the same way as the empty string. The above code used to work in Velocity 1.5, but now I get <td>$items.getAttributeValue("required")</td> instead of <td>No</td> The following works, but seems rather messy: <td> #if($items.getAttributeValue("required") && $items.getAttributeValue("required") != "") $items.getAttributeValue("required") #else No #end </td> Is there a better way to handle optional attributes? --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@... For additional commands, e-mail: user-help@... |
|
|
Re: Best way to handle optional attributes in 1.6.2> 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@... |
|
|
Re: Best way to handle optional attributes in 1.6.2That 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@... |
|
|
Re: Best way to handle optional attributes in 1.6.2Thanks 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@... |
|
|
Re: Best way to handle optional attributes in 1.6.2Your 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@... |
|
|
Re: Best way to handle optional attributes in 1.6.2I see, thanks.
On 15/06/2009, Nathan Bubna <nbubna@...> wrote: > 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@... > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@... For additional commands, e-mail: user-help@... |
| Free embeddable forum powered by Nabble | Forum Help |