velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christoph.R...@dlr.de
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?

Cheers,
Christoph

dhaval.h.udani@orbitech.co.in 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 [mailto:nathan@esha.com]
> 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:
> 
> http://cvs.apache.org/viewcvs/jakarta-velocity-tools/src/java/org/apache
> /vel
> ocity/tools/generic/RenderTool.java?rev=1.1&content-type=text/vnd.viewcv
> s-ma
> rkup
> 
> or if you are using Velocity-Tools, use
> 
> http://cvs.apache.org/viewcvs/jakarta-velocity-tools/src/java/org/apache
> /vel
> ocity/tools/view/tools/ViewRenderTool.java?rev=1.1&content-type=text/vnd
> .vie
> wcvs-markup
> 
> for greater convenience.
> 
> Nathan Bubna
> nathan@esha.com
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> 
> 

-- 
:) Christoph Reck


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


Mime
View raw message