Teething troubles

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Teething troubles

Tim Pizey
Hi,

I am trying to enable some old software to use Freemarker in addition
to Velocity.
I am developing on Ubuntu/Eclipse.

I am sorry to rush straight to the developer list, in my first 48
hours of Freemarker use,
but I could not find an IRC channel.

I have used the binary cavalary.jar from
http://freemarker.sourceforge.net/usCavalry.html
to convert my velocity templates.
This has left me with Velocity style variables eg
${table.TableInfo.Category.Name}
>From the above page: "Also note that FreeMarker uses the Java built-in
Beans introspection, so - contrary to Velocity - it completely adheres
to introspection rules."

It also converts colours into tags: <body bgcolor="<#call dddddd>" id="top">.
I am unable to contribute fixes as this code is not in the source tree.

So my current hope is to modify BeansWrapper to understand Velocity
style bean notation.
I have checked out the source: in Eclipse I had to change the
configuration to only warn on
restricted access.

Building from source
I documented my fix for ant/ivy on ubuntu at:
 http://stackoverflow.com/questions/1066976/building-freemarker-from-source

However the build still fails with unresolved dependency on
http://repos.zeroturnaround.com/maven2/org/zeroturnaround/javarebel-sdk/1.2.2/javarebel-sdk-1.2.2.jar
This may be because public access to http://repos.zeroturnaround.com/
has been turned off.

My main motivation is to be able to use beans such as
${table.TableInfo.Category.Name}  to access a java object which I have
placed in the root (context)
with a name of table and for
table.getTableInfo().getCategory().getName() to be discovered in that
object.

Which direction should I turn?

cheers
Tim












--
Tim Pizey
http://pizey.net/~timp

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Daniel Dekany
Thursday, March 8, 2012, 6:52:33 PM, Tim Pizey wrote:

> Hi,
>
> I am trying to enable some old software to use Freemarker in addition
> to Velocity.
> I am developing on Ubuntu/Eclipse.
>
> I am sorry to rush straight to the developer list, in my first 48
> hours of Freemarker use,
> but I could not find an IRC channel.
>
> I have used the binary cavalary.jar from
> http://freemarker.sourceforge.net/usCavalry.html
> to convert my velocity templates.
> This has left me with Velocity style variables eg
> ${table.TableInfo.Category.Name}
>>From the above page: "Also note that FreeMarker uses the Java built-in
> Beans introspection, so - contrary to Velocity - it completely adheres
> to introspection rules."

It's the mistake of usCavalry, I suppose. It should be
${table.tableInfo.category.name}

> It also converts colours into tags: <body bgcolor="<#call dddddd>" id="top">.

I guess that's because the *Velocity* parser thinks #dddddd is a macro
call. But when it doesn't find such a macro on runtime, it just prints
#dddddd. But the translator tool can't decide that no such macro will
be available on runtime (or can it?), so probably it should use some
heuristics to spot color codes.

> I am unable to contribute fixes as this code is not in the source tree.

I don't know where the source code is either... The tar.gz contains
two .java-s, yes. But I think the tricks happens inside
org.apacahe.velocity, that Jonathan has patched, and I don't see that
patch anywhere. It's my quick conclusion anyway.

There's also a tools/vel2ftl in the SVN repo. I have no idea what's
that, or if it works... But it surely doesn't look like usCavalry.

I will have to ask Jonathan...

> So my current hope is to modify BeansWrapper to understand Velocity
> style bean notation.

Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
that would be rather annoying for anyone who wants to work with the
templates later.

> I have checked out the source: in Eclipse I had to change the
> configuration to only warn on restricted access.

Um... what's that again?

> Building from source
> I documented my fix for ant/ivy on ubuntu at:
>
> http://stackoverflow.com/questions/1066976/building-freemarker-from-source

The current production version of FreeMarker, 2.3.x, with doesn't use
Ivy. Please use the SVN repo, not GIT. GIT contains 2.4, which is
unreleased.

> However the build still fails with unresolved dependency on
> http://repos.zeroturnaround.com/maven2/org/zeroturnaround/javarebel-sdk/1.2.2/javarebel-sdk-1.2.2.jar
> This may be because public access to http://repos.zeroturnaround.com/
> has been turned off.
>
> My main motivation is to be able to use beans such as
> ${table.TableInfo.Category.Name}  to access a java object which I have
> placed in the root (context)
> with a name of table and for
> table.getTableInfo().getCategory().getName() to be discovered in that
> object.
>
> Which direction should I turn?

This has to be fixed in the converter. I'm not sure if I can contact
Jonathan (the author) and that he will do anything within a reasonable
time frame. So... maybe you should just do some regexp magic and
replace those capital letters after the dots. I don't know how many
templates do you have, however. But I'm certain nothing will translate
Velocity to FreeMarker perfectly... a tool may saves you from most
mechanical work, but you still will have to go through the templates
and change this and that, unless the Velocity templates were extremely
simple.

> cheers
> Tim

--
Best regards,
 Daniel Dekany


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Daniel Dekany
The author of usCavalry says he doesn't know where the source is...
So, the best is probably trying tools/vel2ftl from the SVN repo.

--
Best regards,
 Daniel Dekany


Thursday, March 8, 2012, 8:39:21 PM, Daniel Dekany wrote:

> Thursday, March 8, 2012, 6:52:33 PM, Tim Pizey wrote:
>
>> Hi,
>>
>> I am trying to enable some old software to use Freemarker in addition
>> to Velocity.
>> I am developing on Ubuntu/Eclipse.
>>
>> I am sorry to rush straight to the developer list, in my first 48
>> hours of Freemarker use,
>> but I could not find an IRC channel.
>>
>> I have used the binary cavalary.jar from
>> http://freemarker.sourceforge.net/usCavalry.html
>> to convert my velocity templates.
>> This has left me with Velocity style variables eg
>> ${table.TableInfo.Category.Name}
>>>From the above page: "Also note that FreeMarker uses the Java built-in
>> Beans introspection, so - contrary to Velocity - it completely adheres
>> to introspection rules."
>
> It's the mistake of usCavalry, I suppose. It should be
> ${table.tableInfo.category.name}
>
>> It also converts colours into tags: <body bgcolor="<#call dddddd>" id="top">.
>
> I guess that's because the *Velocity* parser thinks #dddddd is a macro
> call. But when it doesn't find such a macro on runtime, it just prints
> #dddddd. But the translator tool can't decide that no such macro will
> be available on runtime (or can it?), so probably it should use some
> heuristics to spot color codes.
>
>> I am unable to contribute fixes as this code is not in the source tree.
>
> I don't know where the source code is either... The tar.gz contains
> two .java-s, yes. But I think the tricks happens inside
> org.apacahe.velocity, that Jonathan has patched, and I don't see that
> patch anywhere. It's my quick conclusion anyway.
>
> There's also a tools/vel2ftl in the SVN repo. I have no idea what's
> that, or if it works... But it surely doesn't look like usCavalry.
>
> I will have to ask Jonathan...
>
>> So my current hope is to modify BeansWrapper to understand Velocity
>> style bean notation.
>
> Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
> that would be rather annoying for anyone who wants to work with the
> templates later.
>
>> I have checked out the source: in Eclipse I had to change the
>> configuration to only warn on restricted access.
>
> Um... what's that again?
>
>> Building from source
>> I documented my fix for ant/ivy on ubuntu at:
>>
>> http://stackoverflow.com/questions/1066976/building-freemarker-from-source
>
> The current production version of FreeMarker, 2.3.x, with doesn't use
> Ivy. Please use the SVN repo, not GIT. GIT contains 2.4, which is
> unreleased.
>
>> However the build still fails with unresolved dependency on
>> http://repos.zeroturnaround.com/maven2/org/zeroturnaround/javarebel-sdk/1.2.2/javarebel-sdk-1.2.2.jar
>> This may be because public access to http://repos.zeroturnaround.com/
>> has been turned off.
>>
>> My main motivation is to be able to use beans such as
>> ${table.TableInfo.Category.Name}  to access a java object which I have
>> placed in the root (context)
>> with a name of table and for
>> table.getTableInfo().getCategory().getName() to be discovered in that
>> object.
>>
>> Which direction should I turn?
>
> This has to be fixed in the converter. I'm not sure if I can contact
> Jonathan (the author) and that he will do anything within a reasonable
> time frame. So... maybe you should just do some regexp magic and
> replace those capital letters after the dots. I don't know how many
> templates do you have, however. But I'm certain nothing will translate
> Velocity to FreeMarker perfectly... a tool may saves you from most
> mechanical work, but you still will have to go through the templates
> and change this and that, unless the Velocity templates were extremely
> simple.
>
>> cheers
>> Tim


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Tim Pizey
In reply to this post by Daniel Dekany
Hi Daniel,

First thank you for both your quick responses.

On 8 March 2012 19:39, Daniel Dekany wrote:

> Thursday, March 8, 2012, 6:52:33 PM, Tim Pizey wrote:
>>
>> I have used the binary cavalary.jar from
>> http://freemarker.sourceforge.net/usCavalry.html
>> to convert my velocity templates.
>> This has left me with Velocity style variables eg
>> ${table.TableInfo.Category.Name}
>>>From the above page: "Also note that FreeMarker uses the Java built-in
>> Beans introspection, so - contrary to Velocity - it completely adheres
>> to introspection rules."
>
> It's the mistake of usCavalry, I suppose. It should be
> ${table.tableInfo.category.name}
>
>> It also converts colours into tags: <body bgcolor="<#call dddddd>" id="top">.
>
> I guess that's because the *Velocity* parser thinks #dddddd is a macro
> call. But when it doesn't find such a macro on runtime, it just prints
> #dddddd. But the translator tool can't decide that no such macro will
> be available on runtime (or can it?), so probably it should use some
> heuristics to spot color codes.
>
>> I am unable to contribute fixes as this code is not in the source tree.
>
> I don't know where the source code is either... The tar.gz contains
> two .java-s, yes. But I think the tricks happens inside
> org.apacahe.velocity, that Jonathan has patched, and I don't see that
> patch anywhere. It's my quick conclusion anyway.
>
> There's also a tools/vel2ftl in the SVN repo. I have no idea what's
> that, or if it works... But it surely doesn't look like usCavalry.
>
> I will have to ask Jonathan...

On 8 March 2012 22:37, Daniel Dekany <[hidden email]> wrote:
> The author of usCavalry says he doesn't know where the source is...
> So, the best is probably trying tools/vel2ftl from the SVN repo.

Thanks.

>> So my current hope is to modify BeansWrapper to understand Velocity
>> style bean notation.
>
> Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
> that would be rather annoying for anyone who wants to work with the
> templates later.

Sure, I do not intend to replace, but to extend into my own VelocityBeanWrapper.
(though I think there may be others who would like to be able to use
both Sun and
Velocity method notation)

>> I have checked out the source: in Eclipse I had to change the
>> configuration to only warn on restricted access.
>
> Um... what's that again?

Apparently since java 1.5 overriding methods from classes in RT.jar
gives a problem. This can be overridden in eclipse by settting
Preferences> Java>Compiler>Errors/Warnings>Deprecated and Restricted
API> Forbidden reference(access rules) to warning rather than error.

>> Building from source
>> I documented my fix for ant/ivy on ubuntu at:
>>
>> http://stackoverflow.com/questions/1066976/building-freemarker-from-source
>
> The current production version of FreeMarker, 2.3.x, with doesn't use
> Ivy. Please use the SVN repo, not GIT. GIT contains 2.4, which is
> unreleased.

I was building from
https://freemarker.svn.sourceforge.net/svnroot/freemarker/trunk/freemarker
so I should be using
https://freemarker.svn.sourceforge.net/svnroot/freemarker/branches/2.3/freemarker

>> My main motivation is to be able to use beans such as
>> ${table.TableInfo.Category.Name}  to access a java object which I have
>> placed in the root (context)
>> with a name of table and for
>> table.getTableInfo().getCategory().getName() to be discovered in that
>> object.
>>
>> Which direction should I turn?
>
> This has to be fixed in the converter. I'm not sure if I can contact
> Jonathan (the author) and that he will do anything within a reasonable
> time frame. So... maybe you should just do some regexp magic and
> replace those capital letters after the dots. I don't know how many
> templates do you have, however. But I'm certain nothing will translate
> Velocity to FreeMarker perfectly... a tool may saves you from most
> mechanical work, but you still will have to go through the templates
> and change this and that, unless the Velocity templates were extremely
> simple.

thanks again for all your advice
Tim






--
Tim Pizey
http://pizey.net/~timp

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Daniel Dekany
Friday, March 9, 2012, 11:14:27 AM, Tim Pizey wrote:

[snip]
>> Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
>> that would be rather annoying for anyone who wants to work with the
>> templates later.
>
> Sure, I do not intend to replace, but to extend into my own
> VelocityBeanWrapper. (though I think there may be others who would
> like to be able to use both Sun and Velocity method notation)

Maybe I'm missing something here. Do you actually have
${table.TableInfo.Category.Name} with all those capital letters in the
Velocity templates? That would be incredibly... strange. Or what else
is the difference?

Also, you can possibly just extend BeansWrapper with subclassing (as
opposed to modifying the source code). If you indeed have some naming
convention mismatches, and you are sure that you don't want to fix
those in the templates instead, note the
BeansWrapper.finetuneMethodAppearance method.

>>> I have checked out the source: in Eclipse I had to change the
>>> configuration to only warn on restricted access.
>>
>> Um... what's that again?
>
> Apparently since java 1.5 overriding methods from classes in RT.jar
> gives a problem. This can be overridden in eclipse by settting
Preferences>> Java>Compiler>Errors/Warnings>Deprecated and Restricted
API>> Forbidden reference(access rules) to warning rather than error.

>
>>> Building from source
>>> I documented my fix for ant/ivy on ubuntu at:
>>>
>>> http://stackoverflow.com/questions/1066976/building-freemarker-from-source
>>
>> The current production version of FreeMarker, 2.3.x, with doesn't use
>> Ivy. Please use the SVN repo, not GIT. GIT contains 2.4, which is
>> unreleased.
>
> I was building from
> https://freemarker.svn.sourceforge.net/svnroot/freemarker/trunk/freemarker

Ah... that. That's FM 3.0, a dead branch, apparently. I will mark it
like so. Sorry for the confusion.

> so I should be using
> https://freemarker.svn.sourceforge.net/svnroot/freemarker/branches/2.3/freemarker
[snip]

Yes.

--
Best regards,
 Daniel Dekany


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Tim Pizey
On 9 March 2012 13:13, Daniel Dekany wrote:

> Friday, March 9, 2012, 11:14:27 AM, Tim Pizey wrote:
> [snip]
>>> Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
>>> that would be rather annoying for anyone who wants to work with the
>>> templates later.
>>
>> Sure, I do not intend to replace, but to extend into my own
>> VelocityBeanWrapper. (though I think there may be others who would
>> like to be able to use both Sun and Velocity method notation)
>
> Maybe I'm missing something here. Do you actually have
> ${table.TableInfo.Category.Name} with all those capital letters in the
> Velocity templates?
Yes
> That would be incredibly... strange.

Err, no, this is standard Velocity  and WebMacro usage.
I have read java.beans.Introspector, and don't like it, I much prefer
the Velocity way.
I am surprised at your surprise, and that you have not had people with this
problem before.

> Also, you can possibly just extend BeansWrapper with subclassing (as
> opposed to modifying the source code).

Yes.

> If you indeed have some naming
> convention mismatches, and you are sure that you don't want to fix
> those in the templates instead, note the
> BeansWrapper.finetuneMethodAppearance method.

Thanks.

I have also looked at tools/vel2ftl
This has an eclipse project name of cavalry, and would probably build
if an old version of
freemarker.jar were placed in its lib directory.
As it is it does not compile.

thanks for all your help

Tim

--
Tim Pizey
http://pizey.net/~timp

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Daniel Dekany
Friday, March 9, 2012, 2:34:41 PM, Tim Pizey wrote:

> On 9 March 2012 13:13, Daniel Dekany wrote:
>> Friday, March 9, 2012, 11:14:27 AM, Tim Pizey wrote:
>> [snip]
>>>> Don't do that... BeansWrapper uses standrad JavaBeans rules. Changing
>>>> that would be rather annoying for anyone who wants to work with the
>>>> templates later.
>>>
>>> Sure, I do not intend to replace, but to extend into my own
>>> VelocityBeanWrapper. (though I think there may be others who would
>>> like to be able to use both Sun and Velocity method notation)
>>
>> Maybe I'm missing something here. Do you actually have
>> ${table.TableInfo.Category.Name} with all those capital letters in the
>> Velocity templates?
> Yes
>> That would be incredibly... strange.
>
> Err, no, this is standard Velocity  and WebMacro usage.

So, WebMacro just removed "get" from the method names but leave them
capital, if I understand it well. I didn't remember that. And yes, I
find it strange, but, well, probably it was one guy's lonely decision,
back then in the Java stone-age... things like that happen (like
FreeMarker has some funny pieces of heritage too... a lot, actually).
(That Velocity does this too doesn't mean much, as they in many
respects just quickly copied WebMacro when they couldn't find an
agreement with its author, and they needed something like WebMacro
quickly.)

> I have read java.beans.Introspector, and don't like it,

That just implements the JavaBeans "standard", which is an integral
part of the Java software ecosystem. The whole stack is full of beans.

> I much prefer the Velocity way.

Why?

> I am surprised at your surprise, and that you have not had people with this
> problem before.

Beats me. Sometimes people doesn't report more fundamental things for
years.

>> Also, you can possibly just extend BeansWrapper with subclassing (as
>> opposed to modifying the source code).
>
> Yes.
>
>> If you indeed have some naming
>> convention mismatches, and you are sure that you don't want to fix
>> those in the templates instead, note the
>> BeansWrapper.finetuneMethodAppearance method.
>
> Thanks.
>
> I have also looked at tools/vel2ftl
> This has an eclipse project name of cavalry, and would probably build
> if an old version of
> freemarker.jar were placed in its lib directory.
> As it is it does not compile.

I can imagine... Like I have seen UsCavalry has outputted loooong ago
deprecated (but still working) stuff like <#call dddddd>. That should
be <@dddddd /> for ages.

> thanks for all your help
>
> Tim
>

--
Best regards,
 Daniel Dekany


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Tim Pizey
On 9 March 2012 15:03, Daniel Dekany  wrote:
> Friday, March 9, 2012, 2:34:41 PM, Tim Pizey wrote:
>
>> On 9 March 2012 13:13, Daniel Dekany wrote:
>>> Friday, March 9, 2012, 11:14:27 AM, Tim Pizey wrote:
[snip]
> So, WebMacro just removed "get" from the method names but leave them
> capital, if I understand it well.

Yes, I suspect it also understands standard beans


> I didn't remember that. And yes, I
> find it strange, but, well, probably it was one guy's lonely decision,
> back then in the Java stone-age... things like that happen (like
> FreeMarker has some funny pieces of heritage too... a lot, actually).
> (That Velocity does this too doesn't mean much, as they in many
> respects just quickly copied WebMacro when they couldn't find an
> agreement with its author, and they needed something like WebMacro
> quickly.)

I remember :)

>> I have read java.beans.Introspector, and don't like it,
>
> That just implements the JavaBeans "standard", which is an integral
> part of the Java software ecosystem. The whole stack is full of beans.

I looked for a @since but there was none

>> I much prefer the Velocity way.
>
> Why?

More readable, no information loss.

I am no  processing velocity templates with perl and regular
expressions to meet the FM way.


cheers
Tim

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel
Reply | Threaded
Open this post in threaded view
|

Re: Teething troubles

Daniel Dekany
Friday, March 9, 2012, 4:49:14 PM, Tim Pizey wrote:

> On 9 March 2012 15:03, Daniel Dekany  wrote:
>> Friday, March 9, 2012, 2:34:41 PM, Tim Pizey wrote:
>>
>>> On 9 March 2012 13:13, Daniel Dekany wrote:
>>>> Friday, March 9, 2012, 11:14:27 AM, Tim Pizey wrote:
> [snip]
>> So, WebMacro just removed "get" from the method names but leave them
>> capital, if I understand it well.
>
> Yes, I suspect it also understands standard beans
>
>> I didn't remember that. And yes, I
>> find it strange, but, well, probably it was one guy's lonely decision,
>> back then in the Java stone-age... things like that happen (like
>> FreeMarker has some funny pieces of heritage too... a lot, actually).
>> (That Velocity does this too doesn't mean much, as they in many
>> respects just quickly copied WebMacro when they couldn't find an
>> agreement with its author, and they needed something like WebMacro
>> quickly.)
>
> I remember :)
>
>>> I have read java.beans.Introspector, and don't like it,
>>
>> That just implements the JavaBeans "standard", which is an integral
>> part of the Java software ecosystem. The whole stack is full of beans.
>
> I looked for a @since but there was none

JavaBeans were surely there in JDK 1.1, 1997.

>>> I much prefer the Velocity way.
>>
>> Why?
>
> More readable, no information loss.

There's no information lose. A class has some JavaBean properties, and
that's it. You can access them by property name in FreeMarker. The
getter methods are still there, like you can write foo.getBar(), but
if that's also the reader method of the property "bar", you can and
should write foo.bar instead.

> I am no  processing velocity templates with perl and regular
> expressions to meet the FM way.
>
>
> cheers
> Tim
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> FreeMarker-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/freemarker-devel
>

--
Best regards,
 Daniel Dekany


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
FreeMarker-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/freemarker-devel