velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apa...@recks.org
Subject Re: How to loop a for loop in velocity with counters
Date Tue, 03 Jun 2008 14:08:03 GMT
If the default is
   directive.foreach.counter.initial.value = 1
Then you are almost there... You should put your #set directive inside the loop:

#foreach( $code in $methodList)
#set($Count = $velocityCount - 1)
$code.method: $paymentList.get($Count)
#end

Or to be independent of the global setting:

#set($count = 0)
#foreach( $code in $methodList)
$code.method: $paymentList.get($count)
#set($count = $count + 1)
#end


> Please let me know what have i gone wrong

What did you get?
We cannot guess what you got differs to what you expected...

Cheers,
Christoph

newbie-gero wrote:
> Sorry this is not duplicate message. What i mean at the previous messge is
> this of what i have code
> 
> #set($Count = $velocityCount -1)
> 
> #foreach( $code in $methodList)
> $code.method: $paymentList.get($Count)
> #end
> 
> I do this so that the counter will start from zero instead of 1.
> 
> Please let me know what have i gone wrong
> 
> 
> 
> newbie-gero wrote:
>> Hi thanks for the prompt reply.
>>
>> I have try the method you have suggest but i encounter this error
>> org.apache.velocity.exception.MethodInvocationException: Invocation of
>> method 'get' in  class java.util.ArrayList threw exception
>> java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
>>
>> I tried using this #set($velocityCount = $velocityCount -1) but it
>> encounters another error?
>>
>> Any idea how to solve?
>>
>> Thanks
>>
>>
>> apache-10 wrote:
>>> Hi, you should be able to do:
>>>
>>> #foreach( $code in $methodList)
>>>    $code.method: $paymentList.get($velocityCount)
>>> #end
>>>
>>> Cheers,
>>> Chirstoph
>>>
>>> newbie-gero wrote:
>>>> Greetings, i like to loop 2 for loops to display out the data.
>>>>
>>>> For example in methodList, it contains 
>>>> element 0 : register mail 
>>>> element 1 : Normal mail
>>>>
>>>> In paymentList, it contains
>>>> element 0: $5
>>>> element 1: $2
>>>>
>>>>
>>>> Currently this is what i have code in velocity:
>>>>
>>>> #foreach( $code in $methodList)  $code.method :#foreach( $charge in
>>>> $paymentList) $charge.delivery_charge #end #end 
>>>>
>>>> The results display are
>>>> REGISTER_MAIL : S$5.00  S$1.00    NORMAL_MAIL : S$5.00 
>>>> S$1.00  
>>>>
>>>> Actually i want it to display as
>>>> REGISTER_MAIL : S$5.00
>>>> NORMAL_MAIL : S$1.00 
>>>>
>>>> How do i do it in velocity?
>>>>
>>>> Thanks in advance
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@velocity.apache.org
>>> For additional commands, e-mail: user-help@velocity.apache.org
>>>
>>>
>>>
>>
> 

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


Mime
View raw message