`

Flex框架选择[问题持续更新]

    博客分类:
  • FLEX
阅读更多
   业余时间研究FLEX,计划用FLEX作为自己理想系统的前台选择。原来用FLEX+Spring+Blazed+oracle(考虑经济原因,还是换mysql了)搭建过第一套的框架,后台java用了现有公司的框架。觉得不妥,就换了下,FLEX4+Spring+Blazed+IBatis+Cairngorm3+Parsley2.2+Oracle(考虑经济原因,还是换mysql了),这个框架是很长时间网上收集信息和比较得来的,因为肯定不够时间去每样都试过去,就尽量比较多的评论和文章。

    flex+spring+blazed+ibatis网上整合的实例很多,很快就搭起来了,Cairngorm2后续是没有维护版本了,Cairngorm3作为类库,感觉支持Parsley较好,并且网上用过Parsley的人都对该框架表示好感。看过介绍和评论,也确实还不错,只可惜现在国内的资料较少,只能混E文,累哦。。。

    目前主要是整合Parsley2.2,遇到问题包括:

1.在creationComplete方法里面调用[MessageDispatcher]标注的dispatcher方法,由于Parsley注入是异步的,还没完成,导致creationComplete方法里面不能使用注入的Object。

2.主应用parsley的配置,如果使用 Parsley指南中的写法,加入

preinitialize=”FlexContextBuilder.build( ParsleyExampleConfig );
    addedToStage=”dispatchEvent(new Event(‘configureIOC’, true));”

居然会导致注入无效,不晓得是不是parsley版本是2.2的原因,改用mxml方式写,就正常了:

<fx:Declarations>
  <parsley:Configure/>
  <parsley:ContextBuilder config=”ParsleyConfig”/>
</fx:Declarations>

3.[PostConstruct]标注的方法必须是public,并且无参数的,private会调用不到,有参数,则会报错。建议使用[init]标注。

4. 突然之间parsley不工作了,工程提示: MyWorld.mxml 设计模式无法加载 parsley-flex4-2.2.2.swc。它可能与此 SDK 不兼容,或者无效。(DesignAssetLoader.CompleteTimeout) /MyWorld/flex_src Unknown Problem
经网上查询,Adobe论坛已经收录该问题,需要更新Flex SDK 到4.1.0,不过奇怪的时,我下载完4.1.0,放进flex builder插件的SDK下,然后重启Eclipse,还没等我更换工程SDK,问题居然自己解决了。。。

5. parsley配置文件感觉没加载的问题,有可能是你的config文件配置产生错误,例如,

<Object type=”{RemoteObjectOperation}” id=”employeeServiceDest”>
  <Property name=”destination” value=”employeeServiceDest”/>
</Object>

其中RemoteObjectOperation.as中destination为private属性,则会导致该类无法注入实例化,则parsley不生效。
遗憾的是,系统启动初始化的时候,居然没有丝毫日志提示。。。悲剧啊,明天研究看看。
(parsley初始化错误日志打印方法,在debug模式下,控制台有日志:
private static const logger:Logger = LogContext.getLogger( MyWorld );
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
FlexLoggingXmlSupport.initialize();
XmlContextBuilder.build("config/flex_log.xml");
logger.debug( "call create method on user service" );
)

flex_log.xml:
<objects xmlns="http://www.spicefactory.org/parsley"
xmlns:log="http://www.spicefactory.org/parsley/flex/logging" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.spicefactory.org/parsley http://www.spicefactory.org/parsley/schema/2.3/parsley-core.xsd   http://www.spicefactory.org/parsley/flex/logging
      http://www.spicefactory.org/parsley/schema/2.3/parsley-logging-flex.xsd">
<log:target level="debug">
<log:filter>org.spicefactory.*</log:filter>
</log:target>
<!-- other object definitions -->
</objects>


6.国际化问题,我的目录结构为

MyWorld

–resources

—-locale

——zh_CN

———中文.properties

——en_US

———English.properties

——zh_TW

———繁体中文.properties

,则需要附加如下编译参数

-locale zh_CN -allow-source-path-overlap=true -source-path=E:\workspace\MyWorld\resources\locale\{locale}

7. 装ibatis的代码自动生成插件Abator时,MyEclipse8.5也要升级8.6,结果升完就挂了,然后重新装了MyEclipse9,装flex4插件,装完flex插件,开MyEclipse报 错误5 请重新安装什么的。这个时候,要先卸载原flex插件,再重新安装,就好了。

其他的忘了,框架还在封装中。
8. eclipse9,导入到工程貌似都会有构建器失败的情况出现,保存java时候提示 构建器 异常,需要修改org.eclipse.wst.common.project.facet.core.xml
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.5"/>
  <installed facet="jst.web" version="2.5"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
或者在.project中增加属性
    <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
9.eclipse中调试flex时,报(C:\Windows\system32\Macromed\Flash\NPSWF32.dll:5) 问题,
网上查找资料http://forums.adobe.com/thread/865611
需要:a,删除C:\Windows\system32\Macromed\Flash下的所有文件,文件被占用时,可以用360强删(这个功能蛮好用的,省得我关闭QQ,浏览器神马的)b.执行 http://kb2.adobe.com/cps/141/tn_14157.html上下载的flash播放器卸载exe。c.安装D:\Program Files\Adobe\Adobe Flash Builder 4.5\player\win\10.2下的InstallPlugin.exe和InstallAX.exe。
然后就OK了。

10.parlsey框架build配置文件时候,报as文件unknown class问题,可以在flex编译器中附加编译参数:-load-config+=E:\workspace\MyWorld\flex_src\classref.config
classref.config:

<?xml version="1.0" encoding="UTF-8"?>
<flex-config>
<includes append="true">
<symbol>lingran.model.CoreModel</symbol>
<symbol>lingran.command.Bootstrap</symbol>
<symbol>lingran.command.ModuleMessageInterceptor</symbol>
<symbol>lingran.vo.ModuleDescription</symbol>
<symbol>lingran.events.DataEvent</symbol>
</includes>
</flex-config>
11.module载入null问题,原代码如下:
		private var currentModule:Module;
				currentModule=currentModuleInfo.factory.create() as Module;
				FlexGlobals.topLevelApplication.addElementAt(currentModule, 0);

由于currentModuleInfo.factory.create()结果返回为null,导致下面一句报错,修正为如下代码,则可以。参考资料:http://www.cnblogs.com/yjmyzz/archive/2011/04/10/2011784.html
private var currentModule:Object;
				currentModule=currentModuleInfo.factory.create();
				FlexGlobals.topLevelApplication.addElementAt(currentModule as IVisualElement, 0);

1
1
分享到:
评论

相关推荐

    SpringFlex框架搭建

    SpringFlex框架搭建是一个将Spring框架与Adobe Flex技术结合使用的实践过程。这个框架允许开发者利用Spring的强大功能来构建后端服务,同时使用Flex作为前端展示层,提供富互联网应用程序(RIA)的用户体验。在本篇...

    flex for GIS框架(非esri官网框架)

    同时,需要注意的是,由于Adobe已经停止了对Flex的官方支持,因此在选择使用Flex for GIS框架时,需要考虑到技术的持续维护和升级问题,可能需要寻找社区支持或者转向其他现代前端GIS框架,如Leaflet或Mapbox GL JS...

    flex AIR 工程自动更新测试

    综上所述,Flex AIR工程的自动更新测试是保证软件持续更新和完善的重要环节,涉及到的技术包括版本控制、网络通信、文件操作以及用户交互设计等多个方面。开发者需要充分理解和掌握这些知识点,才能有效地实现和测试...

    Flex持续集成之单元测试

    综上所述,Flex持续集成之单元测试涉及到Flex应用程序的模块化测试,采用FlexUnit作为测试框架,通过持续集成工具确保代码质量。开发者应该熟练掌握这些技术,以实现高效、可靠的开发流程。通过学习和实践,可以提升...

    flex 4 生命周期

    Flex框架的生命周期包括了组件的初始化、布局、绘制、更新和销毁等关键阶段。理解这些阶段对于优化代码、提升应用性能至关重要。在Flex 4中,Adobe引入了更高效的设计模式,如States和Effects,以更好地管理组件的...

    flex3组件和框架的生命周期

    此时,组件开始接收来自Flex框架的事件通知,如大小调整、位置变化等。 **初始化阶段** 初始化阶段是指组件完成所有必要的准备工作的过程,包括读取和处理任何必需的数据模型或服务响应。此阶段确保组件准备好进行...

    Adobe-Flex-简介.doc

    Flex框架包括Flex SDK,它包含了编译器、库和运行时环境。Flex Builder或Flash Builder是基于Eclipse的集成开发环境,提供了代码编辑、调试和部署工具。 **2.3 Flex 元件 MXML** MXML是Flex中的关键元素,它是XML...

    FLEX播放器 flex 开发AIR及Flex之mp3播放器教程

    Flex是一种强大的开放源代码框架,用于构建富互联网应用程序(RIA),而AIR则允许开发者创建桌面应用,充分利用Web技术和平台的特性。 首先,要开发一个MP3播放器,我们需要了解Flex的基础知识。Flex使用MXML和...

    flex的sdk3.6.0

    虽然Adobe不再维护Flex SDK,但开发者社区仍在持续更新和改进。 10. **迁移和兼容性** 如果您之前使用的是3.5.0版本,升级到3.6.0时需要检查代码的兼容性,确保应用在新版本中能正常运行。同时,测试新版本的性能...

    flex builder 3 plugin part6

    5. **Flex SDK集成**:插件与Flex SDK紧密集成,开发者无需手动配置SDK路径,可以直接使用最新的Flex框架和库,如Spark和MX组件集。 6. **Flex组件库**:Flex Builder 3包含大量预定义的UI组件,如按钮、标签、面板...

    APE(flex out of memory)

    - **更新IDE和Flex SDK**:确保你使用的是最新版本,因为新版本通常会修复已知的内存管理问题。 在标签"APE flex"中,APE可能指的是Adobe的Air Player Engine,它是一个用于在桌面和移动设备上运行Flex应用程序的...

    amcharts_flex_components_1.8.3.4

    然而,随着Flex框架逐渐淡出舞台,转而被HTML5和现代前端框架取代,amcharts_flex的未来维护和更新可能会成为问题。开发者需要考虑迁移至amcharts的JavaScript版本或其他替代品,如D3.js或Chart.js。 4. **在现有...

    flex完全自学手册

    - 虽然Adobe已停止对Flex的官方更新,但社区维护的OpenFL和Apache Flex项目仍在持续发展,为开发者提供了继续使用Flex的可能。 - 随着Web技术的演进,如HTML5、CSS3和JavaScript的增强,Flex在某些场景下可能被...

    Flex第一步

    - **Flex框架**:如Spark、Halcyon等,提供了丰富的UI组件库。 - **版本控制工具**:如Git等,用于项目版本管理。 #### 三、Flex基础语法与编程模型 Flex编程涉及到以下几个方面: - **MXML**:Flex的主要标记语言...

    理解Flex3组件和框架的生命周期.pdf

    ### 理解Flex3组件和框架的生命周期 #### 简介 Adobe Flex 是一款强大的框架,用于构建丰富的互联网应用程序 (RIA)。虽然 Adobe 提供了大量的文档支持,但理解和掌握 Flex 组件及其框架的生命周期仍然是一个挑战。...

    Flex开源项目

    Flex开源项目是一系列用于Adobe Flex、Flash及AIR开发的免费资源,它们提供了丰富的组件、库和框架,帮助开发者构建更加复杂和功能丰富...随着社区的不断壮大,更多的创新组件和框架将持续涌现,推动Flex技术向前发展。

    Flex Blazeds入门教程

    作为开源项目,Blazeds拥有活跃的社区和持续的更新,能够满足大多数开发场景的需求。 综上所述,Flex Blazeds入门教程为初学者提供了从理论到实践的完整指南,无论是对于理解Flex、LCDS还是Blazeds的基本概念,还是...

    flex入门简介

    - Flex的进化反映了Adobe对RIA市场的持续投入,ActionScript 3.0的出现让Flex编程更为强大和高效。 5. Flex的应用场景: - 创建动态和交互性强的Web应用程序,如数据可视化、企业级应用和多媒体内容展示。 - ...

    Flex 项目安装备份文件

    在IT行业中,Flex项目开发是基于Adobe Flex框架构建富互联网应用程序(RIA)的过程。这个框架主要使用MXML和ActionScript编程语言,为用户提供丰富的用户体验。本文将深入探讨“Flex项目安装备份文件”的相关知识点...

Global site tag (gtag.js) - Google Analytics