Hi Nathan,

Thanks a ton...that helped... I got it done...that also explains I need
to do quite some learning on this...

Once again thanks for the time and patience. It really meant a lot to
me.

Warm Regards,
Muthu Kumaran.L

"Faith is to believe what you do not yet see; the reward for this faith
is to see what you believe."
-Swami Vivekananda

-----Original Message-----
From: Nathan Bubna [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 24, 2006 10:53 PM
To: Velocity Users List
Subject: Re: How to find whether a value passed is string or number

On 1/24/06, Muthu Kumaran Lekshmanan -X (mlekshma - WIPRO at Cisco)
<[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I am a rank fresher to velocity, I have been asked to do a few things 
> on it. I am basically using it to generate string commands based on 
> data received and send it down to a device.
>
> My problem now is to find if a value passed to me is a charecter 
> string or a numeric value. This piece of code i wrote for it does not 
> work.....any pointers on doing it will be highly helpful. Below is 
> code i wrote which does not work
>
>
>     #set($letterCount=0)
>     #set($lng=$stdCommListNo.length() - 1)
>     #foreach( $i in [0..$lng] )
>         #set($char=$stdCommListNo.charAt($i))
>         #if(!$Character.isDigit($char))

the line above will not work.  Velocity != Java, so you do not
automatically have access to Character.isDigit(char).

>             #set($letterCount=$letterCount + 1)
>         #end
>     #end
>     #if($letterCount > 0)
>         <Do some printing for string value>
>      #else
>            <Do some printing for numeric value>
>      #end
>
>
> Any help in this direction will be highly helpful......please dont 
> mind if it is too dumb a question....it will motivate me to dig 
> more......thanks.

if i were you, i would move all of that logic into a tool class like:

public class MyCharacterTool {

    public int getLetterCount(String foo) {
        int letterCount = 0;
        for (int i=0; i < foo.length(); i++) {
            if (!Character.isDigit(foo.charAt(i))) {
                letterCount++;
            }
        }
        return letterCount;
    }
}

then you add an instance of MyCharacterTool to your Velocity Context...

context.put("charTool", new MyCharacterTool());

and use it in your template like...

#set( $letterCount = $charTool.getLetterCount($stdCommListNo) ) #if(
$letterCount > 0)
  <do some string printing>
#else
  <do some number printing>
#end


> Warm Regards,
> Muthu Kumaran.L
>
> "Faith is to believe what you do not yet see; the reward for this 
> faith is to see what you believe."
> -Swami Vivekananda
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

  • How to find whet... Muthu Kumaran Lekshmanan -X \(mlekshma - WIPRO at Cisco\)
    • Re: How to ... Nathan Bubna
    • RE: How to ... Muthu Kumaran Lekshmanan -X \(mlekshma - WIPRO at Cisco\)

Reply via email to