『壹』 Flex中RemoteOject的java調用問題
internal function remotingSayHello(event:ResultEvent):void{
//Alert.show(event.result.toString());
//添加下面的
var resultText : String = event.result.toString();
output.text = resultText;
}
internal function init():void{
h.addEventListener(ResultEvent.RESULT,remotingSayHello);
//Alert.show(h.name);
//你列印出來的應該就是這里的值,將這個注釋掉
//output.text = h.test(input.text);//這個不要了,都在處理結果的函數中去做。你這樣是不能得到函數返回值的
}
你這樣試試 ,希望我的回答對你有所幫助。
『貳』 在flex和java web工程交互時無法調用到JAVA端的方法
flex調用java還是使用http或者webservice吧,那個比較靠譜。flex並不是針對java做的。flex的後台可以是java也可以是php,dotnet
『叄』 flex怎麼調用java與資料庫通信
flex做前端,可以發請求到;後台用java處理數據,(java與資料庫連接),再返回數據給flex展現。
『肆』 flex調用Java方法連接sqlserver
基於blazeDS的flex4與spring的程序實例步驟
環境:
jdk1.6
j2ee1.5
spring2.5.6
blazeDS3.3
tomcat6.0
flex4
myeclipse8.5
flashBuilder4
步驟:
一、 啟動好blazeDS(即啟動tomcat,在[tomcat]/webapps目錄下產生一個blazeds文件夾(三個war包產生一個blazeds文件夾));
在myeclipse8.5新建一個web Project工程,工程名為webSpring;
把此工程加入blazeDS支持(即用blazeds下的WEB-INF文件夾替換掉web工程下的WEB-INF文件夾);
加入spring支持(把spring相關的jar包拷貝到webSpring/WebRoot/WEB-INF/lib目錄下即可)。
二、 1. 在javaWeb工程webSpring的str目錄下分別新建一下兩個包:
cn.xuediit.myFactory、cn.xuediit.myService;
2. 在cn.xuediit.myFctory包下新建兩個類:FlexFactoryImpl.java和SpringFactoryInstance.java
(1). FlexFactoryImpl.java:
package cn.xuediit.myFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
public class FlexFactoryImpl implements FlexFactory {
private Log log = LogFactory.getLog(getClass());
/*override interface method*/
public void initialize(String id, ConfigMap configMap) {
System.out.println("1---flex工廠實現類重寫的方法initialize");
}
/*override interface method*/
public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {
System.out.println("2---flex工廠實現類重寫的方法createFactoryInstance");
log.info("Create FactoryInstance.");
SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
return instance;
}
/*override interface method*/
public Object lookup(FactoryInstance instanceInfo) {
System.out.println("4---flex工廠實現類重寫的方法lookup");
log.info("Lookup service object.");
return instanceInfo.lookup();
}
}
(2).SpringFactoryInstance.java
package cn.xuediit.myFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import flex.messaging.FactoryInstance;
import flex.messaging.FlexContext;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;
public class SpringFactoryInstance extends FactoryInstance {
private Log log = LogFactory.getLog(getClass());
SpringFactoryInstance(FlexFactory factory, String id, ConfigMap properties) {
super(factory, id, properties);
}
public Object lookup() {
System.out.println("3---spring工廠類的方法lookup");
ApplicationContext appContext = WebApplicationContextUtils.(FlexContext.getServletConfig().getServletContext());
String beanName = getSource();
try {
log.info("Lookup bean from Spring ApplicationContext: " + beanName);
return appContext.getBean(beanName);
} catch (NoSuchBeanDefinitionException nex) {
ServiceException e = new ServiceException();
String msg = "Spring service named '" + beanName + "' does not exist.";
e.setMessage(msg);
e.setRootCause(nex);
e.setDetails(msg);
e.setCode("Server.Processing");
throw e;
} catch (BeansException bex) {
ServiceException e = new ServiceException();
String msg = "Unable to create Spring service named '" + beanName + "'.";
e.setMessage(msg);
e.setRootCause(bex);
e.setDetails(msg);
e.setCode("Server.Processing");
throw e;
} catch (Exception ex) {
ServiceException e = new ServiceException();
String msg = "Unexpected exception when trying to create Spring service named '" + beanName + "'.";
e.setMessage(msg);
e.setRootCause(ex);
e.setDetails(msg);
e.setCode("Server.Processing");
throw e;
}
}
}
3. 在cn.xuediit.myService包下新建兩個類:FService.java和FServicesImpl.java
(1). FService.java
package cn.xuediit.myService;
public interface FService {
public String sayHello(String name);
}
(2). FServicesImpl.java
package cn.xuediit.myService;
public class FServicesImpl implements FService {
public String sayHello(String name) {
System.out.println("5---服務層實現類(本質上的與flex交互的類)");
return "我是服務層的服務實現類==" + name;
}
}
三、 1、 在javaWeb工程webSpring下,在文件webSpring/WebRoot/WEB-INF/web.xml的<web-app>標簽下添加子節點:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2、 在javaWeb工程webSpring下,在webSpring/WebRoot/WEB-INF目錄下新建一個文件:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="fServiceImplBeanID" class="cn.xuediit.myService.FServicesImpl"></bean>
</beans>
四、 1、 在javaWeb工程webSpring下,在WebRoot/WEB-INF/flex/remoting-config.xml文件中的<service>標簽下添加:
<destination id="destinationID">
<properties>
<factory>flexFactoryImplID</factory>
<source>fServiceImplBeanID</source>
<scope>application</scope>
</properties>
</destination>
2、 在javaWeb工程webSpring下,在WebRoot/WEB-INF/flex/services-config.xml文件中的<services-config>標簽下添加:
<factories>
<factory id="flexFactoryImplID" class="cn.xuediit.myFactory.FlexFactoryImpl"/>
</factories>
五、 給此javaWeb工程添加tomcat支持,啟動tomcat(這個容易就不說了)。
六、 在flashBuilder下新建一個基於blazeDS的flex項目(以webSpring為後台工程),工程名為webFb;
webFb.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
minWidth="500" minHeight="200">
<fx:Script>
<![CDATA[
import mx.core.Application;
import mx.rpc.events.FaultEvent;
import mx.collections.ArrayCollection;
import mx.rpc.remoting.mxml.RemoteObject;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
public function submit(name:String):void{
var remote:RemoteObject = new RemoteObject();
remote.destination = "destinationID";
remote.endpoint = "http://localhost:8080/webSpring/messagebroker/amf";
remote.addEventListener(ResultEvent.RESULT, myResult);
remote.addEventListener(FaultEvent.FAULT,fault);
remote.sayHello(name);
}
private function myResult(evt:ResultEvent):void{
Alert.show(evt.result.toString());
}
private function fault(evt:FaultEvent):void{
Alert.show(evt.fault.message);
}
]]>
</fx:Script>
<s:Button x="240" y="11" label="要發送到" click="submit(nameTxt.text)"/>
<s:Label x="16" y="11" text="姓名"/>
<s:TextInput id="nameTxt" x="100" y="100"/>
</s:Application>
『伍』 java和flex之間的通訊時怎麼完成的詳解
多種方式,
1,http
2,可以用webservice
3,也可以通過blazeDS調用remoteObject的java對象的方法
『陸』 java+flex怎麼上傳文件
在Adobe的Flex RIA編程環境下,是無法讀取本地文件的(據我所知),但是我們可以依賴於Flex調用後台的代碼實現文件上傳功能,我這里是利用Flex的URLRequest來向java的Servlet傳送一個Http請求(Servlet集成自HttpServlet ,已實現文件上傳功能),而Servlet響應請求之後會利用Apcahe的開源Jar包(org.apache.commons.fileupload.servlet.ServletFileUpload類)完成文件的生成。 通過以上原理就可以利用Flex+java實現文件上傳。( 多自己研究一下吧 , 我也是自己慢慢琢磨出來的 。 呵呵 。我可不經常上網路幫你哦
『柒』 java編程,flex是什麼東西
簡單的說一下,flex之所以出現,是應為編寫flash對於編程人員來說太hard了,編寫flash要用美術功底,還要一幀一幀的弄,對程序員來說太難,所以flex應運出世。flex就是以編程(程序員熟悉)的方式來實現flash功能,所用語言為actionscript語言,最後會編譯出一個swf文件,也就是flash文件,這樣對程序員來說就方便多了。聽同事說google地圖(網頁)好像就是用flex做的。
『捌』 如何利用Flex調用java類做登陸驗證
這個要看你所使用的框架了,一般不會用CycleLive,我曾經用過Struts,Flex調用它Html框架的js文件,通過js調用struts中的action,則達到了驗證的目的
『玖』 怎麼用java和flex實現增刪改查
flex與java實現增刪改查
用的是MySQL資料庫。
1,建一個userdb庫,再建userinfo表,字 段:id(int),username(varchar),password(varchar)。
view plain to clipboardprint?
create database userdb;
use userdb;
create table userinfo(
id int(10) not null auto_increment,
username varchar(20),
password varchar(20),
primary key(id));
2,DBConnection.java
view plain to clipboardprint?
package com.datainfo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
public static Connection getConnection() throws ClassNotFoundException,
SQLException {
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/userdb";
String username = "root";
String password = "mysql";
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
return conn;
}
}
3,User.java
view plain to clipboardprint?
package com.datainfo;
public class User {
private int id;
private String username;
private String password;
public User() {
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id
* the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username
* the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password
* the password to set
*/
public void setPassword(String password) {
this.password = password;
}
}
4,UserDAO.java
view plain to clipboardprint?
package com.datainfo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import com.datainfo.DBConnection;
public class UserDAO {
public ArrayList getUserList() throws ClassNotFoundException, SQLException {
Connection conn = DBConnection.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from userinfo");
ArrayList userList = null;
try {
userList = new ArrayList();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
userList.add(user);
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return userList;
}
public void addUser(User user) throws ClassNotFoundException, SQLException {
Connection conn = DBConnection.getConnection();
String sql = "insert into userinfo (username,password) values (?,?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void updataUser(User user) throws ClassNotFoundException,
SQLException {
Connection conn = DBConnection.getConnection();
String sql = "update userinfo set username=?,password=? where id=?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.setInt(3, user.getId());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void deleteUser(User user) throws ClassNotFoundException,
SQLException {
Connection conn = DBConnection.getConnection();
String sql = "delete from userinfo where id =?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, user.getId());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
『拾』 flex與java到底是怎麼結合的 什麼是flex 數據綁定java
flex是前端框架 java是一門 語言 還是不要把基本概念混淆
flex所謂於java結合 是指的 前端的flex應用 於 後台java應用程序 通訊
flex 數據綁定java 這個 說法也不妥當 「數據綁定」是flex框架的一個特色功能 是指 可以 將一個變數 綁定到 組件的某個 可綁定屬性上 變數發生變化 綁定的目標會自動更新 。所謂的綁定到java 准確的 應該是指 flex本地對象 映射為 後台java對象 這個在使用remoteObject通訊是才會用到