Flex获取url参数的一些写法

来源:互联网 发布:fast paxos算法 编辑:程序博客网 时间:2024/05/18 00:43

  在mxml的application类可以通过geturl获取当前url。获取url可以提供一个很好的方式对swf穿参数。在公司的项目中就大量的应用相关的技术。就和大家分享一下相关的写法,如果写不好就不要笑话哦。

   分析url参数类:

package com.sunshine.framework.control{import com.sunshine.framework.model.UrlParameters;import com.sunshine.framework.util.UrlParametersArrayCollection;public class GetUrlParameters{private var _url:String;private var urlParamenters:UrlParameters;private var _resultList:UrlParametersArrayCollection=new UrlParametersArrayCollection;public function GetUrlParameters(){}public function analysisParameters(value:String=null):UrlParametersArrayCollection{if (value != null){this._url=value;var num:int=_url.indexOf("?");var parametersUrl:String=_url.substring(num + 1);var parameters:Array=parametersUrl.split(/&/);for (var i:int=0; i < parameters.length; i++){var parameter:Array=String(parameters[i]).split(/=/);urlParamenters=new UrlParameters;urlParamenters.prarameterName=parameter[0];urlParamenters.prarameter=parameter[1];_resultList.addParametersModel(urlParamenters);}}return _resultList;}public function set url(value:String):void{this._url=value;}public function get url():String{return _url;}public function set resultList(value:UrlParametersArrayCollection):void{this._resultList=value;}public function get resultList():UrlParametersArrayCollection{return _resultList;}}}

 url参数的model:

package com.sunshine.framework.model{public class UrlParameters{private var _prarameterName:String;private var _prarameter:String;public function UrlParameters(){}public function set prarameterName(value:String):void{this._prarameterName=value;}public function get prarameterName():String{return _prarameterName;}public function set prarameter(value:String):void{this._prarameter=value;}public function get prarameter():String{return _prarameter;}}}

url参数的容器:

package com.sunshine.framework.util{import com.sunshine.framework.model.UrlParameters;import mx.collections.ArrayCollection;import mx.controls.Alert;public class UrlParametersArrayCollection extends ArrayCollection{private var urlParamenters:UrlParameters;public function UrlParametersArrayCollection(source:Array=null){super(source);}public function addParametersModel(value:UrlParameters):void{var name:String=value.prarameterName;var parameter:String=value.prarameter;var b:Boolean=true;if (this.length != 0){for (var i:int=0; i < this.length; i++){urlParamenters=this.getItemAt(i) as UrlParameters;if (name == urlParamenters.prarameterName){(this.getItemAt(i) as UrlParameters).prarameter=parameter;b=false;}}if (b == true){var urlParamenters:UrlParameters=new UrlParameters;urlParamenters.prarameterName=name;urlParamenters.prarameter=parameter;this.addItem(urlParamenters);}}else{var urlParamenters:UrlParameters=new UrlParameters;urlParamenters.prarameterName=name;urlParamenters.prarameter=parameter;this.addItem(urlParamenters);}}public function addParameters(name:String, parameter:String):void{var b:Boolean=true;if (this.length != 0){for (var i:int=0; i < this.length; i++){urlParamenters=this.getItemAt(i) as UrlParameters;if (name == urlParamenters.prarameterName){(this.getItemAt(i) as UrlParameters).prarameter=parameter;b=false;}}if (b == true){var urlParamenters:UrlParameters=new UrlParameters;urlParamenters.prarameterName=name;urlParamenters.prarameter=parameter;this.addItem(urlParamenters);}}else{var urlParamenters:UrlParameters=new UrlParameters;urlParamenters.prarameterName=name;urlParamenters.prarameter=parameter;this.addItem(urlParamenters);}}public function getParameters(name:String):String{var parameters:String="";if (this.length != 0){for (var i:int=0; i < this.length; i++){urlParamenters=this.getItemAt(i) as UrlParameters;if (name == urlParamenters.prarameterName){parameters=urlParamenters.prarameter;}}return parameters;}else{return parameters;}}public function getHandleDataXmlUrl():String{var url:String=getParameters("dataUrl");var handleUrl:String="";var re:RegExp=/#/;var results:Array=url.split(re);for (var i:int=0; i < results.length; i++){if (i % 2 != 0){handleUrl=handleUrl + getParameters(results[i]);}else{handleUrl=handleUrl + results[i];}}return handleUrl;}}}


原创粉丝点击