I just start using Java Velocity. Now I want to create a java class template.
package $app.package_namespace
public class ${app.name}Station
{
#foreac
You could just create 2 methods getName()
and getname()
then when you use ${s_attribute.name}
velocity will use getname()
and when you use ${s_attribute.Name}
velocity will use the getName()
method.
From the Velocity guide:
Property Lookup Rules
As was mentioned earlier, properties often refer to methods of the parent object. Velocity is quite clever when figuring out which method corresponds to a requested property. It tries out different alternatives based on several established naming conventions. The exact lookup sequence depends on whether or not the property name starts with an upper-case letter. For lower-case names, such as $customer.address, the sequence is
getaddress() getAddress() get("address") isAddress()
For upper-case property names like $customer.Address, it is slightly different:
getAddress() getaddress() get("Address") isAddress()
What i'm suggesting is that you handle it in your object on the backend.