首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Flex中结合使用香菜和GraniteDS?

如何在Flex中结合使用香菜和GraniteDS?
EN

Stack Overflow用户
提问于 2010-10-07 21:42:46
回答 1查看 731关注 0票数 0

我希望使用香菜框架,并且希望使用GraniteDS进行远程处理。在2.1版本中,GraniteDS将从您的AS3代码中生成本地代理的Java服务类,我希望在Parsley中使用这些类。

我可以使用Parsley成功地注入服务类,但是当我调用它们的任何方法时,都会得到一个空对象错误

代码语言:javascript
复制
at org.granite.tide::Component/http://www.adobe.com/2006/actionscript/flash/proxy::callProperty()[C:\workspace_\graniteds\as3\framework\org\granite\tide\Component.as:172]
at library::BookServiceBase/get()[C:\Documents and Settings\MedLineTec\Adobe Flash Builder 4\library\src\library\BookServiceBase.as:36]

这是因为Parsley正在创建服务类的实例,而实际上并没有为它们注入相关的“上下文”来进行GraniteDS远程处理。我需要弄清楚如何为parsley实例化的服务类提供GraniteDS上下文。我在a post on the parsley forums上看到有人推荐:

代码语言:javascript
复制
<parsley:ContextBuilder>
      <parsley:FlexConfig type="{UserManagerConfig}"/>
      <parsley:RuntimeConfig instances="{[tideContext]}" />
</parsley:ContextBuilder>

...

[Bindable]
private var tideContext:Context = Spring.getInstance().getSpringContext(); 

但这对我不起作用。我熟悉GraniteDS,但不熟悉香菜,所以这可能是解决方案,但正确地应用它是我无法理解的。

如果有人使用另一个框架,如Swiz或Spring ActionScript,那么也请将该解决方案传递给其他框架,因为它可能非常相似。

更新:通过阅读Granite源代码,我发现在我使用香菜(例如bookService)注入服务之后,如果我运行

代码语言:javascript
复制
private var tideContext:Context = Spring.getInstance().getSpringContext(); 
bookService.meta_init("bookService", tideContext);

然后我就可以成功地使用该服务了。所以我想我只需要知道如何以一种自动的方式使用我在欧芹菜中声明的所有服务来做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2010-11-21 19:27:09

我会看一下Pimento而不是GraniteDS。它也是一个SpiceFactory ActionScript库,就像香菜一样

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3882221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档