You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@velocity.apache.org by zhukaiyun <ka...@kcss.com.cn> on 2007/12/06 04:53:12 UTC
help:Velocity.setProperty
Hello,
I'm integrating Velocity into an existing app, and need help with
the
way
the Velocity object is initialized. I understand that it is a singleton, and
that calling init() repeatedly will have no effect. However, I was surprised
that the following code also doesn't work as one might think:
org.apache.velocity.app.Velocity.Velocity.init();
Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
"foo");
Object o1 =
Velocity.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
Velocity.clearProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
"bar");
Object o2 =
Velocity.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
o1 and o2 both end up being "." ... which is apparently the default value
from calling Velocity.init(). So, do I understand that there is no way to
set the properties after the first call to .init(...)? In my application, I
would like to set Velocity.FILE_RESOURCE_LOADER_PATH every time before I
call .merge. Is this possible, as Velocity is, or do I need to customize it?
If I need to customize it, has anybody made this change already, and what is
the <http://osdir.com/ml/jakarta.velocity.user/2003-08/msg00082.html> best
method to do so? My first thought would be to destroy Velocity
object and create it new each time. Thanks for your thoughts,
-----------------------------------------------------------------
京瓷信息系統(上海)有限公司
朱 開雲
〒201203 上海張江高科技園区郭守敬路498号浦東軟件園19号樓1樓
TEL 0078-86-21-5080-5660 内線8871-146
FAX 0078-86-21-5080-5759
-----------------------------------------------------------------
Re: help:Velocity.setProperty
Posted by Will Glass-Husain <wg...@gmail.com>.
There is no way to change the properties after it's been init. Use the
VelocityEngine instead of the singleton and create a new instance.
WILL
On Dec 5, 2007 7:53 PM, zhukaiyun <ka...@kcss.com.cn> wrote:
> Hello,
> I'm integrating Velocity into an existing app, and need help with
> the
> way
> the Velocity object is initialized. I understand that it is a singleton,
> and
> that calling init() repeatedly will have no effect. However, I was
> surprised
> that the following code also doesn't work as one might think:
>
> org.apache.velocity.app.Velocity.Velocity.init();
> Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
> "foo");
> Object o1 =
> Velocity.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
> Velocity.clearProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
> Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
> "bar");
> Object o2 =
> Velocity.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH);
>
>
> o1 and o2 both end up being "." ... which is apparently the default value
> from calling Velocity.init(). So, do I understand that there is no way to
> set the properties after the first call to .init(...)? In my application,
> I
> would like to set Velocity.FILE_RESOURCE_LOADER_PATH every time before I
> call .merge. Is this possible, as Velocity is, or do I need to customize
> it?
> If I need to customize it, has anybody made this change already, and what
> is
> the <http://osdir.com/ml/jakarta.velocity.user/2003-08/msg00082.html>
> best
> method to do so? My first thought would be to destroy Velocity
> object and create it new each time. Thanks for your thoughts,
>
>
>
>
>
>
> -----------------------------------------------------------------
> 京瓷信息系統(上海)有限公司
> 朱 開雲
> 〒201203 上海張江高科技園区郭守敬路498号浦東軟件園19号樓1樓
> TEL 0078-86-21-5080-5660 内線8871-146
> FAX 0078-86-21-5080-5759
> -----------------------------------------------------------------
>
>
>
>
--
Forio Business Simulations
Will Glass-Husain
wglass@forio.com
www.forio.com