velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: #parse() directive
Date Thu, 17 Apr 2003 09:06:01 GMT
I believe that the outcome of adding a StringResourceLoader would be
just as misleading as what you beleieved #parse should do. OK, you
could look into the string to see if it contains eitehr # or $, but
someone else might try to pass in an arbitrary "resource" string
that does not contain markup, then it would try it as a file and just
break the same.

The general approach of velocity is to "keep it simple" and "use a
tool". Keeping it simple means not to overload directives.

With the second "use a tool" religous war, I do  have some problems.
Here I believe that velocity should support a bit wider scope of
basic directives. I your case it should be #eval("..."), and another
one I'd like to see in the core is #local($foo $bar)...#end as in
the contrib section (I've not yet had a chance to test it... browsing
the source makes me think it's OK, but I originally thought of
something more like the #foreach approach - disclaimer: I'm commenting
out of memory...).

Could you change your approach and propose and send a patch as an #eval
directive? Maybe it could support a caching flag as a second parameter?

Christoph wrote:
> As I mentioned earlier, how about using a StringResourceLoader. I have
> created one and it seems to be working fine. I was wondering whether
> something of this kind would be useful in standard Velocity.
> This requirement would be present to a large extent in cases where hte
> templates are being generated dynamically.
> -----Original Message-----
> From: nathan []
> Sent: Wednesday, April 16, 2003 7:30 PM
> To: velocity-user
> Cc: nathan
> Subject: Re: #parse() directive
> dhaval.h.udani said:
>>I have some doubts about the #parse() directive. I believe that apart
>>from a filename even a Velocity variable can be given here. However it
>>seems that the variable must refer to a template file which can be
> found
>>via the ResourceManager mechanism. However in my case, the variable
>>actally refers to a string containing VTL. I need this VTL to be
> parsed
>>sign the context I supplied. i.e. instead of using the ResourceManager
>>to lcoate a template file, I am giving the contents of the template
>>which need to be parsed.
> you are mistaking the purpose of the #parse directive.  what you need is
> a
> tool such as Simon suggests.  try:
> /vel
> ocity/tools/generic/
> s-ma
> rkup
> or if you are using Velocity-Tools, use
> /vel
> ocity/tools/view/tools/
> .vie
> wcvs-markup
> for greater convenience.
> Nathan Bubna
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

:) Christoph Reck

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message