自己写的动态tree,自己先留着备用,如果想用请下载个blazeds
===========mxml段代码============
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Tree id="tree" x="23" y="10" width="204" height="459" labelField="@label" showRoot="true" creationComplete="loadTree()"></mx:Tree>
<mx:Script>
<![CDATA[
import flash.net.navigateToURL;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
public function loadTree():void{
dbiz.queryXML();//java端业务方法
dbiz.addEventListener(ResultEvent.RESULT,resultHandle);
}
//获得结果集xml格式,并做tree的数据源
public function resultHandle(e:ResultEvent):void{
var arr:XMLList=XMLList(e.result);
this.tree.dataProvider=arr;
}
]]>
</mx:Script>
<!--用remoteobject和java交互-->
<mx:RemoteObject id="dbiz" destination="demoBiz"/>
</mx:Application>
===============java端代码==================
package com.qx.biz;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.qx.util.XmlUtil;
public class DemoBiz {
private static final String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String conStr="jdbc:sqlserver://localhost:1433;databaseName=Demo";
private static final String user="sa";
private static final String pwd="ok";
public Connection getConn(){
Connection con=null;
try {
Class.forName(driverName);
con=DriverManager.getConnection(conStr,user,pwd);
} catch (Exception e) {
e.getMessage();
}
return con;
}
public String queryXML(){
Connection con=this.getConn();
ResultSet rs=null;
String sql="select * from SysFun";
String a="";
try {
PreparedStatement pst=con.prepareStatement(sql);
rs=pst.executeQuery();
a=XmlUtil.convertResultSetToXML2(rs);//自定义result结果集转化成xml格式
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return a;
}
}
============XmlUtil方法=======
public static String convertResultSetToXML2(ResultSet rs) {
StringBuffer sb = new StringBuffer();
try {
ResultSetMetaData rsmd = rs.getMetaData();
if (rsmd.getColumnCount() >= 0)
sb.append("<row label=/"root/">/n");
sb.append("/t<row label=/"Hello/">/n");
for (; rs.next(); sb.append("")) {
sb.append(
(new StringBuilder("/t/t<")).append(
"row label=/"").toString()).append(
rs.getObject(2) != null ? rs.getObject(2) : "")
.append("/"/>/n");
}
sb.append("/t</row>/n");
sb.append("</row>/n");
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}