Grails+Flex搭建开发环境
1.创建Grails项目
2.创建Flex项目,通过项目,右击,属性,Flex Build Path中,output folds配置Grails项目的目录,到web-app。output folds url配置Grails启动起来之后的的初始url地址,比如:http://localhost:8080/abcd。
3.Flex要得到所要的数据,通过HTTPServer对象实现,具体代码如下:
这里面只要用相对路径就可以了,自动会加上http://localhost:8080/abcd
var remoteService:HTTPService = new HTTPService();remoteService.url ="kaofang/showinfo?rid=1003"; remoteService.resultFormat = "e4x"; remoteService.addEventListener(ResultEvent.RESULT,KaofangResult); remoteService.send();
这个地方实际上是通过HTTPService发出一个请求,期待返回一个XML结果。
4.通过Grails项目,连接数据库,查询得到结果以XML的形式返回。
处理的controller里面,首先要导入grails.converters.XML类
import grails.converters.XML
通过如下的方法处理请求,然后返回一个xml结果。
def showinfo = { def kaofangInstance = Kaofang.findByRid(params.rid) //def message=new Message() if(kaofangInstance != null){ //message.obj=kaofangInstance render(contentType:"text/xml",encoding:"UTF-8"){ message{ result{ code("100") description('Success') kaofang{ mingCheng(kaofangInstance.mingCheng) faQiRen(kaofangInstance.faQiRen) createTime(kaofangInstance.createTime) rid(kaofangInstance.rid) yongDi(kaofangInstance.yongDi) xianJin(kaofangInstance.xianJin) address(kaofangInstance.address) shuLiang(kaofangInstance.shuLiang) zhanDiMianJi(kaofangInstance.zhanDiMianJi) fuGaiMianji(kaofangInstance.fuGaiMianji) img(kaofangInstance.img) zongZaoJia(kaofangInstance.zongZaoJia) sheXiangTou(kaofangInstance.sheXiangTou) } } } } //message as XML } else{ render(contentType:"text/xml",encoding:"UTF-8"){ message{ result{ code("-100") description("") } } } } }
5.Flex得到XML结果之后
remoteService.addEventListener(ResultEvent.RESULT,KaofangResult);
如果得到结果并出发一个事件,
在时间中处理所要的结果
private function KaofangResult(event:ResultEvent):void{ var resultXML:XML = event.result as XML; if(resultXML..code==100){ kaofangInfo.infoTitle.text=resultXML..mingCheng; kaofangInfo.Kaofangimg.source="assets/kaof.png"; kaofangInfo.cjsj.text=resultXML..createTime; kaofangInfo.infos=resultXML..sheXiangTou; kaofangInfo.didian.text=resultXML..address; kaofangInfo.faqiren.text=resultXML..faQiRen; kaofangInfo.fgmj.text=resultXML..fuGaiMianji+" 亩"; //kaofangInfo.jsydhg.text=resultXML..yongDi+" 亩"; kaofangInfo.kfsl.text=resultXML..shuLiang+" 座"; kaofangInfo.xianjin.text=resultXML..xianJin+" 万元"; kaofangInfo.shexiangtou.text=resultXML..sheXiangTou+" 个" kaofangInfo.zongtouzi.text=resultXML..zongZaoJia+" 万元"; }else{ Alert.show(resultXML..description); } }
6.注意校验和坏数据的处理。
相关资源:敏捷开发V1.0.pptx