天天看点

java flex blazeds_使用BlazeDS实现Java和Flex通信

9.创建 Java文件。点击 src文件夹,然后创建 java class.类的包为 hello,名字为 HelloWorld.

Java代码

package hello;

public class HelloWorld {

public String sayHelloTo(String str) {

System.out.println( "Hello " + str);

return "Hello " + str; }

}package hello;

public class HelloWorld {

public String sayHelloTo(String str) {

System.out.println("Hello " + str);

return "Hello " + str; }

}

10.在 BlazeApp.mxml文件中新建一个 text和一个按钮,来显示从 HelloWorld传回来的信息。

Xml代码

java flex blazeds_使用BlazeDS实现Java和Flex通信

xml version = "1.0" encoding = "utf-8" ?>

< mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" viewSourceURL = "srcview/index.html" >

< mx:Script >

import mx.rpc.events.ResultEvent;

[Bindable]

private var helloResult:String;

private function sayHelloTo():void {

ro.sayHelloTo(inputText.text);

}

private function resultHandler(event:ResultEvent):void {

helloResult = event.result as String;

} ]]> mx:Script >

< mx:RemoteObject id = "ro" destination = "helloworld" result = "resultHandler(event)" />

< mx:HBox width = "100%" >

< mx:TextInput id = "inputText" />

< mx:Button label = "Submit" click = "sayHelloTo()" />

mx:HBox >

< mx:Label text = "{helloResult}" />

mx:Application ><?xml version="1.0" encoding="utf-8"?>

import mx.rpc.events.ResultEvent;

[Bindable]

private var helloResult:String;

private function sayHelloTo():void {

ro.sayHelloTo(inputText.text);

}

private function resultHandler(event:ResultEvent):void {

helloResult = event.result as String;

} ]]>

11.现在,我们要定义 remote object来是的你的 flex程序能够调用 java类。首先来配置 /WEB-INF/flex/remoting-config.xml文件,添加以下粗体部分来新增一个 destionation—HelloWorld类。

Xml代码

java flex blazeds_使用BlazeDS实现Java和Flex通信

xml version = "1.0" encoding = "UTF-8" ?>

< service id = "remoting-service"

class = "flex.messaging.services.RemotingService" >

< adapters >

< adapter-definition id = "java-object" class = "flex.messaging.services.remoting.adapters.JavaAdapter" default = "true" />

adapters >

< default-channels >

< channel ref = "my-amf" />

default-channels >

< STRONG > < destination id = "helloworld" >

< properties >

< source > hello.HelloWorld source >

properties >

destination > STRONG >

service > 12. 到此,配置结束。然后选择 BlazeApp 项目,选择在服务器上执行。即浏览地址为: http://localhost:8080/BlazedApp/BlazedApp.html如果你能在输入框输入字段之后,点击按钮能返回 Hello,XXX的信息,就代表成功了。如图:

java flex blazeds_使用BlazeDS实现Java和Flex通信

13.(我使用的例子的工程名字叫做 DSTest除此之外操作相同,另外附录中的程序也是使用 DSTest。请自行参考。)

Application Type 选择 web application, 服务器选择 J2EE. 关联 WTP, 至于代码文件保存目录自定义。 Next 。

6.设置 J2EE 服务器。我们选择 Tomcat, 可能需要手动配置 (new) 。然后选择 flex war 文件,即我们放在 webapps 目录下的 blazeds.war.

java flex blazeds_使用BlazeDS实现Java和Flex通信

然后 next.

7. 接着,默认设置,也可自定义。

java flex blazeds_使用BlazeDS实现Java和Flex通信

接着 next. 其实到这里已经完成了 project 建立.8.接下来你可以在 eclipse中可以看到整个工程的所有文件以及配置。在开发之前,可能需要修改 context root配置。点击 BlazeApp右键,选择属性,然后见到如图 ,修改 context root值为 BlazeApp.(默认的是 WebContent,好像不更改也可以。自行测试 …)。

9.创建 Java文件。点击 src文件夹,然后创建 java class.类的包为 hello,名字为 HelloWorld.

Java代码

package hello;

public class HelloWorld {

public String sayHelloTo(String str) {

System.out.println( "Hello " + str);

return "Hello " + str; }

}package hello;

public class HelloWorld {

public String sayHelloTo(String str) {

System.out.println("Hello " + str);

return "Hello " + str; }

}

10.在 BlazeApp.mxml文件中新建一个 text和一个按钮,来显示从 HelloWorld传回来的信息。

Xml代码

java flex blazeds_使用BlazeDS实现Java和Flex通信

xml version = "1.0" encoding = "utf-8" ?>

< mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" viewSourceURL = "srcview/index.html" >

< mx:Script >

import mx.rpc.events.ResultEvent;

[Bindable]

private var helloResult:String;

private function sayHelloTo():void {

ro.sayHelloTo(inputText.text);

}

private function resultHandler(event:ResultEvent):void {

helloResult = event.result as String;

} ]]> mx:Script >

< mx:RemoteObject id = "ro" destination = "helloworld" result = "resultHandler(event)" />

< mx:HBox width = "100%" >

< mx:TextInput id = "inputText" />

< mx:Button label = "Submit" click = "sayHelloTo()" />

mx:HBox >

< mx:Label text = "{helloResult}" />

mx:Application ><?xml version="1.0" encoding="utf-8"?>

import mx.rpc.events.ResultEvent;

[Bindable]

private var helloResult:String;

private function sayHelloTo():void {

ro.sayHelloTo(inputText.text);

}

private function resultHandler(event:ResultEvent):void {

helloResult = event.result as String;

} ]]>

11.现在,我们要定义 remote object来是的你的 flex程序能够调用 java类。首先来配置 /WEB-INF/flex/remoting-config.xml文件,添加以下粗体部分来新增一个 destionation—HelloWorld类。

Xml代码

java flex blazeds_使用BlazeDS实现Java和Flex通信

xml version = "1.0" encoding = "UTF-8" ?>

< service id = "remoting-service"

class = "flex.messaging.services.RemotingService" >

< adapters >

< adapter-definition id = "java-object" class = "flex.messaging.services.remoting.adapters.JavaAdapter" default = "true" />

adapters >

< default-channels >

< channel ref = "my-amf" />

default-channels >

< STRONG > < destination id = "helloworld" >

< properties >

< source > hello.HelloWorld source >

properties >

destination > STRONG >

service > 12. 到此,配置结束。然后选择 BlazeApp 项目,选择在服务器上执行。即浏览地址为: http://localhost:8080/BlazedApp/BlazedApp.html如果你能在输入框输入字段之后,点击按钮能返回 Hello,XXX的信息,就代表成功了。如图:

java flex blazeds_使用BlazeDS实现Java和Flex通信

13.(我使用的例子的工程名字叫做 DSTest除此之外操作相同,另外附录中的程序也是使用 DSTest。请自行参考。)