grails flex 例子

一个结合 flex-plugin 的例子展示

具体操作步骤
1)安装 flex plugin

2)创建一个domian Product 和service

class Product {
String name
String description
String image
String category
Double price
Integer qtyInStock
}





class ProductService {

static expose = ['flex-remoting']

def getProducts() {
return Product.list();
}

def update(Product product) {
def p = Product.get(product.id)
if (product) {
p.properties = product.properties
p.save()


}
}


}


3)在web-app目录下,新建下面3个文件
main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="horizontal"
creationComplete="srv.getProducts()">

<mx:RemoteObject id="srv" destination="productService"/>

<mx:Panel title="Catalog" width="100%" height="100%">
<mx:DataGrid id="list" dataProvider="{srv.getProducts.lastResult}" width="100%" height="100%"/>
</mx:Panel>

<ProductForm product="{Product(list.selectedItem)}"/>

</mx:Application>


ProductForm

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
title="Details" width="100%" height="100%">

<Product id="product"
name="{productName.text}"
category="{category.text}"
price="{Number(price.text)}"
image="{image.text}"
description="{description.text}"/>

<mx:RemoteObject id="srv" destination="productService"/>

<mx:Form width="100%">

<mx:FormItem label="姓名">
<mx:TextInput id="productName" text="{product.name}"/>
</mx:FormItem>

<mx:FormItem label="Category">
<mx:TextInput id="category" text="{product.category}"/>
</mx:FormItem>

<mx:FormItem label="Image">
<mx:TextInput id="image" text="{product.image}"/>
</mx:FormItem>

<mx:FormItem label="Price">
<mx:TextInput id="price" text="{product.price}"/>
</mx:FormItem>


<mx:FormItem label="Description" width="100%">
<mx:TextArea id="description" text="{product.description}" width="100%" height="100"/>
</mx:FormItem>

</mx:Form>

<mx:ControlBar>
<mx:Button label="更新" click="srv.update(product);"/>

</mx:ControlBar>

</mx:Panel>


Product.as

package
{
[Bindable]
[RemoteClass(alias="Product")]
public class Product
{
public function Product()
{
}

public var id:int;

public var name:String;

public var description:String;

public var image:String;

public var category:String;

public var price:Number;

public var qtyInStock:int;

}
}



4)直接运行程序
如下图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值