On Mon, Nov 7, 2011 at 2:03 PM, Nigel Smith <[email protected]> wrote:
> Hi there
>
> I've got two different groovy classes in two different pages (lets say Widget
> and WidgetFactory), and in a third page I'm trying to call an instance of the
> WidgetFactory, getting it to create a Widget.
>
> I've included the groovy code for both classes in the third page using the
> "wiki.parseGroovyFromPage(…" call, which works as I can successfully call
> methods on the widget factory.
>
> However, calling the createWidget method on the factory produces an error, in
> that the WidgetFactory code doesn't know anything about Widgets (i.e. it
> doesn't know about the Widget class). Am I doing something wrong?
>
> I would like to be able to modularise the code in some way. It doesn't matter
> if there are many different classes declared in the one page, or just one; as
> long as I can instantiate them, and they know about each other. This would be
> great as it will mean I can reuse these classes around a few different pages.
>
> I've tried including the code using the include macro (outside the groovy
> block) , and using the xwiki.includeForm call (inside the groovy block), with
> no success.
What did you do exactly and what do you mean by "no success" ?
I created the following two pages:
page1:
>>>>>>>>>>>>>>>>>>>>>>
{{groovy}}
class MyClass
{
String getString()
{
return "toto".
}
}
{{/groovy}}
<<<<<<<<<<<<<<<<<<<<<<
page2:
>>>>>>>>>>>>>>>>>>>>>>
{{include document="page1"/}}
{{groovy}}
myobject = new MyClass()
println myobject.getString()
{{/groovy}}
<<<<<<<<<<<<<<<<<<<<<<
and it's working well for me.
>
> Thanks,
> Nigel
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs