Re: Using WebMacro outside of a WebApplication

Danni Miller <[email protected]> Tue, 20 Sep 2005 09:48:14 -0700 (PDT)
Newsgroups gmane.comp.java.webmacro.user
Message-ID <[email protected]>
Thanks that was exactly what I was looking for, I
didnt realize I could pass directives when
instantiating a StringMacro, and then retrieve the
value from the context. Thanks

 

--- Keats Kirsch <[email protected]> wrote:

> I'm not clear on what your problem is.  It looks
> like you have the right 
> idea.  You can evaluate a template to a stream or a
> String.  If you want 
> to set other data types using WM, you can pull them
> out of the context 
> after evaluating the template.
> 
> Something like:
> 
>             Context ctx = new Context();
>             ctx.put("val1", 1);
>             ctx.put("val2", 155);
>             Macro macro = null;
>             macro = new StringMacro("#set $val =
> $val1 + $val2");
>             macro.evaluate( ctx);
>             Integer val = (Integer)ctx.get("val");
> 
> Hope this helps.
> 
> Keats
> 
> Danni Miller wrote:
> 
> >I would like to use the expression handling of
> >WebMacro outside of typical WebMacro. I have been
> able
> >to use a StringMacro which evalutates out properly,
> >but I would also like to evalute a full expression
> >such as $val + $val1 When I evaluate such an
> >expression I get String substitutions. Is there any
> >way to do this with WebMacro 2.0. I am not sure
> what I
> >should use to have this functionality, or if those
> >classes are public. I have a sample below of what I
> am
> >trying to accomplish. 
> >
> >By the way I have to say I love the ideas and
> >implementation of WebMacro. Thanks
> >
> >import org.webmacro.engine.StringMacro;
> >import org.webmacro.engine.MacroAdapter;
> >import org.webmacro.engine.StringMacroAdapter;
> >import org.webmacro.Context;
> >import org.webmacro.Macro;
> >
> >
> >public class Test {
> >
> >    public static void main(String[] args) {
> >        try {
> >
> >
> >
> >            Context ctx = new Context();
> >            ctx.put("name", "David");
> >            ctx.put("val1", 1);
> >            ctx.put("val2", 155);
> >
> >            Macro macro = null;
> >
> >            macro = new StringMacro("$name");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >            macro = new
> >StringMacro("$name.substring(0,2).length()");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >            macro = new
> >StringMacro("$name.substring(0,2).length()+5");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >            macro = new StringMacro("$val1 +
> $val2");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >            macro = new StringMacroAdapter("$val1 +
> >156");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >            macro = MacroAdapter.createMacro("$val1
> +
> >$val2");
> >            System.out.println( macro.evaluate(
> ctx));
> >
> >
> >
> >
> >
> >        } catch(Throwable t){
> >            t.printStackTrace();
> >        }
> >
> >
> >    }
> >}
> >
> >  
> >
> 
> 
> 
> 
>
-------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's
> Geronimo App Server. Download
> it for free - -and be entered to win a 42" plasma tv
> or your very own
> Sony(tm)PSP.  Click here to play:
> http://sourceforge.net/geronimo.php
> _______________________________________________
> Webmacro-user mailing list
> [email protected]
>
https://lists.sourceforge.net/lists/listinfo/webmacro-user
> 



		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php