velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Townson, Chris" <C.Town...@nature.com>
Subject RE: Velocimacro problem evaluating variable value
Date Mon, 11 Jul 2005 13:48:09 GMT
Thanks for this, everyone. Both methods work - will use the "method" method
as recommended.

Btw: html syntax - selected="selected" _is_ correct: attribute minimization
is not recommended in HTML 4 and in XHTML is invalid ;)

-----Original Message-----
From: Steve O'Hara [mailto:sohara@pivotal-solutions.co.uk] 
Sent: 11 July 2005 14:39
To: Velocity Users List
Subject: RE: Velocimacro problem evaluating variable value

I appreciate that the Velocity parser is maybe creating the Java expression
"this"=="this" but you're making an assumption, one that may not hold true
forever.  It may well be evaluating this.toString()=="this"

For this reason, you should NEVER compare strings using "==" and is a common
Java newbie pitfall. This equality check is unreliable because it is
comparing the object references, not their contents.

In some cases it may give the desired result but in others it will not, so
as a rule, you should use the methods provided - after all, why does the
String object have an equals method if it didn't need it?

Here are two articles explaining why you shouldn't use "==" for Strings;

http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=58
http://webhome.idirect.com/~mdevoy/ICS4MI/notes/notes%20java%20strings.htm


-----Original Message-----
From:
velocity-user-return-16354-sohara=pivotal-solutions.co.uk@jakarta.apache
.org
[mailto:velocity-user-return-16354-sohara=pivotal-solutions.co.uk@jakart
a.apache.org]On Behalf Of Dimitrios Kolovos
Sent: 11 July 2005 13:10
To: Velocity Users List
Subject: Re: Velocimacro problem evaluating variable value


== operator works fine for strings and offers a more compact syntax than
equalsIgnoreCase

Dimitrios

Steve O'Hara wrote:

>Chris,
>
>Firstly, your HTML syntax is not correct (selected="selected") but 
>also, remember that the "==" causes an object compare - you should 
>force a string compare by using the following;
>
>#if($selected.equalsIgnoreCase("Dr")) selected #end
>
>Steve
>
>
>-----Original Message-----
>From:
>velocity-user-return-16352-sohara=pivotal-solutions.co.uk@jakarta.apach
>e
>.org
>[mailto:velocity-user-return-16352-sohara=pivotal-solutions.co.uk@jakar
>t
>a.apache.org]On Behalf Of Richard Dean
>Sent: 11 July 2005 12:25
>To: Velocity Users List
>Subject: Re: Velocimacro problem evaluating variable value
>
>
>Hi Chris,
>
>Think it might just be that you are missing an '=' sign :
>
>#if($selected == "Dr") selected = "selected" #end rather than
>
>#if($selected = "Dr") selected= "selected" #end
>
>Richard
>
>On 7/11/05, Townson, Chris <C.Townson@nature.com> wrote:
>
>
>>Hi -
>>
>>In my VM_global_library, I have the following simple macro to create a 
>>drop-down list of name titles for HTML forms:
>>
>>#*
>>* makeTitlesDropDown
>>*
>>* Macro to create a select + options drop-down list of name titles
>>* Does not include a label for the select box, because we might want 
>>this elsewhere
>>* Takes three parameters:
>>* var STRING $id: value of the id for the select box
>>* var STRING $name: value of the name attribute for the select box
>>* var STRING $selected: the name title value to be set as pre-selected 
>>*# #macro ( makeTitlesDropDown $id $name $selected ) <select id="$id" 
>>name="$name"> <option value="Dr"#if($selected = "Dr") 
>>selected="selected"#end>Dr</option>
>><option value="Prof"#if($selected = "Prof") 
>>selected="selected"#end>Prof</option>
>><option value="Mr"#if($selected = "Mr") 
>>selected="selected"#end>Mr</option>
>><option value="Mrs"#if($selected = "Mrs") 
>>selected="selected"#end>Mrs</option>
>><option value="Miss"#if($selected = "Miss") 
>>selected="selected"#end>Miss</option>
>><option value="Ms"#if($selected = "Ms") 
>>selected="selected"#end>Ms</option>
>></select>
>>#end
>>
>>I then call this with the following:
>>#makeTitlesDropDown ( "title" "title" "Mr" )
>>
>>The select list comes out fine, except for the fact that the third 
>>parameter
>>- which is used to pre-select a particular option - is not being 
>>picked up / evaluated as expected.
>>
>>Is there anything really obvious that I am doing wrong here?? :D
>>
>>Thanks,
>>
>>Chris
>>
>>
>>
>>
>>
>***********************************************************************
>****
*
>****
>
>
>>DISCLAIMER: This e-mail is confidential and should not be used by 
>>anyone who is not the original intended recipient. If you have 
>>received this e-mail in error please inform the sender and delete it 
>>from your mailbox or any other storage mechanism. Neither Macmillan 
>>Publishers Limited nor any of its agents accept liability for any 
>>statements made which are clearly the sender's own and not expressly 
>>made on behalf of Macmillan Publishers Limited or one of its agents.
>>Please note that neither Macmillan Publishers Limited nor any of its 
>>agents accept any responsibility for viruses that may be contained in 
>>this e-mail or its attachments and it is your responsibility to scan 
>>the e-mail and attachments (if any). No contracts may be concluded on 
>>behalf of Macmillan Publishers Limited or its agents by means of 
>>e-mail communication.
>>Macmillan
>>Publishers Limited Registered in England and Wales with registered 
>>number
>>785998
>>Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS
>>
>>
>>
>>
>***********************************************************************
>****
*
>****
>
>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>>
>>
>>
>>
>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org






---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org

********************************************************************************   
DISCLAIMER: This e-mail is confidential and should not be used by anyone who is
not the original intended recipient. If you have received this e-mail in error
please inform the sender and delete it from your mailbox or any other storage
mechanism. Neither Macmillan Publishers Limited nor any of its agents accept
liability for any statements made which are clearly the sender's own and not
expressly made on behalf of Macmillan Publishers Limited or one of its agents.
Please note that neither Macmillan Publishers Limited nor any of its agents
accept any responsibility for viruses that may be contained in this e-mail or
its attachments and it is your responsibility to scan the e-mail and 
attachments (if any). No contracts may be concluded on behalf of Macmillan 
Publishers Limited or its agents by means of e-mail communication. Macmillan 
Publishers Limited Registered in England and Wales with registered number 785998 
Registered Office Brunel Road, Houndmills, Basingstoke RG21 6XS   
********************************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Mime
View raw message