Flex与Servlet通讯,一般是靠XML通讯。使用FB(Flex Builder),很容易生成UI的。
1、Servlet,我的Servlet比较复杂,是从DB,根据XML配置生成XML(XML充当VO的作用)的,用到的类比较多,涉及到dom4j,hibernate,spring,xstream,log4j等,所以,就不贴出来了,这个Sevlet生成的XML格式如下
<?xml version="1.0" encoding="GBK" ?>
- <DataSet>
<name>userlist</name>
- <List>
<userName>neuhawk1</userName>
<userPassword>password1</userPassword>
<userAddress>China1</userAddress>
</List>
- <List>
<userName>neuhawk2</userName>
<userPassword>password2</userPassword>
<userAddress>China2</userAddress>
</List>
- <List>
<userName>neuhawk3</userName>
<userPassword>password3</userPassword>
<userAddress>China3</userAddress>
</List>
</DataSet>
2、MXMl:用FB生成以下代码,点几下鼠标就可以了。
<?xml version="1.0" encoding="GBK"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
<mx:Model source="http://localhost:8080/RiaProject/servlet/XMLFacadeServlet" id="UserList" ></mx:Model>
<mx:Form>
<mx:DataGrid dataProvider="{UserList.List}" width="394" height="231">
</mx:DataGrid>
</mx:Form>
</mx:Application>
刚开始的时候,我生成XML格式是这样的:
<DataSet>
<name>userlist</name>
- <userName>neuhawk1</userName>
<userPassword>password1</userPassword>
<userAddress>China1</userAddress>
</ DataSet>
而且我用的是:
<mx:XML source="http://localhost:8080/RiaProject/servlet/XMLFacadeServlet" id="xml1"></mx:XML>
绑定到DataGrid就是不成功,后来看到samples里都是用<mx:Model >,就改用<mx:Model >了,用在lable就可以(如<mx:Text text="Text{UserList.userName}" />),但是datagrid还是不行,于是我就改动PoToXML类,于是数据就出来了。
FB开发Flex是十分简单快乐的事,FB很象DW,出BUG的时候,提示信息是DW出错,呵呵。
JSP跟Servlet的做法是一样的。
下次我将介绍Flex生成的XML更新数据库的例子。