[
https://issues.apache.org/jira/browse/VELOCITY-12?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13013877#comment-13013877
]
Candid Dauth commented on VELOCITY-12:
--------------------------------------
I have uploaded a new version of the patch to http://pastebin.com/HkJN2PaU.
Instead of modifying the default behaviour, I have created the class
org.apache.velocity.util.introspection.UberspectPublicFields. As documented on
http://velocity.apache.org/engine/devel/developer-guide.html#Velocity_Configuration_Keys_and_Values,
in order to use this modification, the Velocity property
runtime.introspector.uberspect needs to be set to
org.apache.velocity.util.introspection.UberspectImpl,org.apache.velocity.util.introspection.UberspectPublicFields.
Personally, I can’t imagine cases where developers don’t want public fields to
be read/modified. Thus I would prefer to have this as default behaviour, as
that would lead to less confusion.
> Access to public member variable of a class
> -------------------------------------------
>
> Key: VELOCITY-12
> URL: https://issues.apache.org/jira/browse/VELOCITY-12
> Project: Velocity
> Issue Type: Improvement
> Components: Engine
> Affects Versions: 1.1
> Environment: Operating System: All
> Platform: PC
> Reporter: Rich Doyle
> Priority: Minor
>
> It would be nice if I could reference public instance variables in a class
> that
> is put in the velocity context using a syntax such as
> $theClass.instanceVarName. I am aware that this syntax is used to reference
> the getInstanceVarName() method of the class that is put in the
> context...maybe
> a variation on the syntax could be used for instance variables. I am also
> aware that it is probably not good to expose instance variables as public,
> however the classes I am dealing with are generated via a CORBA IDL compiler.
>
> My servlet makes a CORBA call, which returns data in such an object (public
> instance vars, no accessor methods), and it would be nice if I could stuff
> this
> object into the velocity context and reference it directly in a template.
> What
> I have to do with the current implementation of velocity is wrap these IDL
> compiler generated classes to provide get methods for the instance variables.
>
> This is very easy, but adds up to a lot of classes that exist merely so
> public
> members can be accessed via a get method.
> <bootlickingon> I evaluated velocity as an alternative to JSP for use on my
> current project, and Velocity wins hands down, even given this
> inconvenience.</bootlickingoff>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]