在Flex Builder 3.0当中提供了一个构建基于LCDS的Flex应用向导。这个向导同前一章的构建基于J2EE服务器向导的使用方式几乎一致。LCDS的Flex应用也是基于J2EE服务器的。下面就以一个例子说明如何构建一个基于LCDS的Flex应用。
(1)在Flex Builder3.0的IDE环境中,单击【File】|【New】|【Flex Project】命令,弹出【New Flex Project】对话框,如图所示。【Project name】文本框中输入“LCDSFlexStu”,在【Application Server type】中选择“J2EE”。选中【Use remote object access service】复选框,并选中【LiveCycle Data Service】单选按钮,单击【Next】按钮,进入下一步。
(2)在【New Flex Project】对话框的【Target runtime】下拉列表框中选择相应的J2EE服务器。在【Flex WAR file】文本框中填写安装LCDS目录下的flex.war文件路径。在【Compilication options】选项组当中选择【Complie application on the server when the page is viewed】单选按钮。其他配置保持默认值。如图所示。单击【Finish】按钮,完成项目创建。
注意:在【Compilication options】选项组当中选择【Complie application locally in Flex Builder(recommended)】单选按钮说明Flex文件在本地编译。而选择【Complie application on the server when the page is viewed】单选按钮说明mxml文件在服务器被访问时才被编译。
(3)创建结束后LCDSFlexStu项目的结构如图所示。
在WEB-INF目录下的lib目录下存储的是LCDS用到的jar包,在flex目录下存储的是在服务端编译Flex应用使用的类库文件和配置文件。
(4)在【Navigator】面板中选择LCDSFlexStu.mxml并切换到代码视图。修改代码如下所示。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Style>
global{
fontSize:12pt;
}
</mx:Style>
<mx:Script>
<![CDATA[
//引入对话框类库
import mx.controls.Alert;
//定义函数显示信息
private function showMessage():void{
Alert.show("我是一个基于LCDS的Flex应用","Web应用");
}
]]>
</mx:Script>
<mx:Button label="点击" verticalCenter="0" horizontalCenter="0" click="showMessage()" />
</mx:Application>
(5)参照13.6.2当中的方法将LCDSFlexStu部署到Tomcat服务器上。右击LCDSFlexStu.mxml代码视图,单击【Run As 】|【Run on Server】命令,如图所示。
6)直接在Flex Builder3.0当中打开浏览器窗口,如图所示。单击【点击】按钮,效果如图所示。这是的浏览器地址是“http://localhost:8080/LCDSFlexStu/LCDSFlexStu.mxml”。由于在服务端编译的Flex应用所以扩展名是mxml文件。请求发出后由服务器进行编译处理,返回结果是一个嵌有编译后SWF的HTML页面。
(
从上面的例子中可以看出基于LCDS的Flex应用拥有可以在服务端编译Flex应用的能力。访问时不是直接访问SWF文件而是调用服务器去编译SWF文件。这个过程有些像J2EE对JSP的处理。