在JSON格式封装应用程序中处理完数据后,可以将数据返回 PHP 脚本并用 json_decode() 重新创建可用的对象数据结构,然需要按照json格式解码等,后面在介绍。接着看看那个更新数据的方法。
在网上搜索了找到一篇用JSON格式封装方法:具体请参考:Using Flex, PHP, and JSON to Modify a MySQL Database。写的非常的简单明白,可惜的是自己没学过PHP。无法按照例子上完整的去实现,所以我把它更改用Java-Json的方法来实现同样的功能。
首先来看下这个例子的界面功能设计:包含一个dataGrid控件,两个按钮(读取和更新数据)以及一个Label控件用来提示用户操作的结果。dataGrid包含四个列:员工的编号,姓名,性别以及部门。其中姓名这个列是可以编辑修改的:编辑后通过检查后,按更新按钮更新数据库。#t#
接着来看下工作流程:Flex app是通过JSON格式封装方式与后台的java bean沟通的,然后在由java bean连接mysql database,读取或更新数据。然后返回给flex app. 由于使用blazeDS,flex app可以直接调用java 的方法,所以发送请求和接受数据都变的简单了。
那么,我门开始工作了。首先,创建一个数据库:在mysql提示框中输入以下的SQL就可以创建一个简单的员工信息资料表。我们来先看看那后台java bean的处理:他要接受flex app的读取数据和更新数据的请求,而且他们之间的数据传递格式采用的是json.所以我们的JSON格式封装的一个框架结构应该是:
- public class JsonGrid {
- private Connection con = null;
- private String myDriver = "com.mysql.jdbc.Driver";
- private String conURL = "jdbc:mysql://localhost:3306/test";
- private String userName = "root";
- private String userPass = "12345";
- public Connection conToDB(){
- try{
- Class.forName(myDriver);
- con = DriverManager.getConnection(conURL,userName,userPass);
- }catch(Exception e){
- e.printStackTrace();
- }
- return con;
- }
- public String getJsonArray(){
- String result= new String();
- return result;
- }
- public String sendJsonArray(String jsonData){
- String result= new String();
- return result;
- }
- }
里面包含了两个重要的方法(getJsonArray()和sendJsonArray())分别对应flex app的读取数据和更新数据的请求。在getJsonArray()方法中,要连接数据库,取得员工的信息资料,然后按照json格式封装数据,结果返回给flex app,由flex app中的datagrid显示出来。