On 05/12/2017 23:46, Veit Guna wrote:

Hi.

I just gave 2.0 a testdrive and some issues occurred to me.

a) Until 1.7 I could use

#set($subject = "Hey Buddy")

To pass back context values to the caller (java code). I could simply
get it from the Map:

contextMap.get("subject");

Now this doesn't work anymore. The key is not contained in the context
after the template has been processed.
Is this by intention? Is there another way of passing back values from
the template?

It does work with this following code:

    VelocityContext context = new VelocityContext();
    template.merge(context, output);
    /* template contains #set($suject = "hello there") */
    System.out.println("subject = " + context.get("subject"));

Ok, I saw your second email. Well, anyhow, the behavior should still be the same.
Note that you can turn it off with:

    template.provide.scope.control = true

b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
work anymore if configured like this:

<property name="resourceLoaderPath" value="classpath:mail-templates" />

or this (leaving it out completely results in the same):

<property name="overrideLogging" value="true" />

Spring uses an old ResourceLoader for classpath scanning (can be fixed
by using velocitys own). Also it uses
the old *Chute logger class. Both resulting in appropriate exceptions
not finding matching classes.

As Spring announced to drop Velocity Support with 5, this is maybe not a
topic for you guys anymore.

On the contrary, they just don't want to maintain the Velocity integration themselves, which means we should host the few glue classes here. Adapting the org.springframework.ui.velocity pakage for 2.0 should be trivial, we're just waiting for someone to contribute it.

Regards,

  Claude

But it would have been nice to keep these classes for a while to not
break existing projects .

So let's forget about b). Does anyone has a clue about a)?

Cheers
Veit




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



On 05/12/2017 23:46, Veit Guna wrote:
Hi.

I just gave 2.0 a testdrive and some issues occurred to me.

a) Until 1.7 I could use

#set($subject = "Hey Buddy")

To pass back context values to the caller (java code). I could simply
get it from the Map:

contextMap.get("subject");

Now this doesn't work anymore. The key is not contained in the context
after the template has been processed.
Is this by intention? Is there another way of passing back values from
the template?

b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
work anymore if configured like this:

<property name="resourceLoaderPath" value="classpath:mail-templates" />

or this (leaving it out completely results in the same):

<property name="overrideLogging" value="true" />

Spring uses an old ResourceLoader for classpath scanning (can be fixed
by using velocitys own). Also it uses
the old *Chute logger class. Both resulting in appropriate exceptions
not finding matching classes.

As Spring announced to drop Velocity Support with 5, this is maybe not a
topic for you guys anymore.
But it would have been nice to keep these classes for a while to not
break existing projects :).

So let's forget about b). Does anyone has a clue about a)?

Cheers
Veit




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



Reply via email to