velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Maslov <therealma...@gmail.com>
Subject Velocity template dynamic reference value modification
Date Thu, 03 Jun 2010 08:57:38 GMT
I need to replace references (properties and methods) in the Velocity
templates to some another values during template rendering.
For example, from the template below:
___
I have $some text $daisy
#foreach ($someElement in $someCollection)
   #$someElement.doSomething()
#end
___

I need to get such text:
___
I have lalala1 text lalala1
lalala2
lalala2
lalala2
___

Besides, the reason is I don`t know the names of references and the
amount of them beforehand. Well, technically, indeed I can open
templates and manually look through, but I want to escape this way.
First of all, I tried to get references names from the template,
working with implementation of ReferenceInsertionEventHandler, but the
problem was in directives.
For example, with foreach I had exception "Could not determine type of
iterator in #foreach loop"
I looked through the velocity source code, I can change it as I need,
but it will kill future project maintainability.
So the question is:
is there any way to get all references names (properties and methods)
from template and to change the values of them during rendering?

Best regards,
Sergey Maslov

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


Mime
View raw message