请问在类里面怎么设置路径?

doggod2008 2008-09-23 01:51:17
我建了个读配置文件的类:

package user_control
{
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.*;
public class Config
{
[Bindable]
public static var Blogs:Array = null;
[Bindable]
public static var WebServicesAddress:String = null;
private static var services:HTTPService = null;
public function Config()
{

}
public static function ConfigInit():void
{
services = new HTTPService("../config.xml");
services.addEventListener(ResultEvent.RESULT, config_result);
services.addEventListener(FaultEvent.FAULT, services_fault);
}
//cofig
private static function config_result(evt:ResultEvent):void
{
var resultObj:Object = evt.result;
var blogArr:Array = new Array();

blogArr.push(resultObj.config.blogs[0]);
blogArr.push(resultObj.config.blogs[1]);
Blogs = blogArr;

WebServicesAddress = resultObj.config.servicesSite;
}

private static function services_fault(evt:FaultEvent):void
{
Alert.show("读取信息发生错误,原因如下:\n"+evt.fault.faultString);
}
}


上面那个路径怎么设置啊?绝对路径怎么写
...全文
292 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
doggod2008 2008-09-27
  • 打赏
  • 举报
回复
我是直接生成html的,放到网站上,你说的绝对路径我是理解的,但开发时填上地址不太好,除非做个配置,不过我这个config.as类就是个配置类,晕,呵呵。我说的绝对路径是指相对与开发的src根目录,比如C#的~/config.xml表示网站根目录下的config.xml,或者/config.xml也是表示根目录下的吧,我就是想问一下flex里面有这种表示方法么?

因为最近比较忙,所以晚上老是加班,呵呵,所以很晚才回复,各位不好意思啦
doggod2008 2008-09-27
  • 打赏
  • 举报
回复
加盘符那种绝对路径太绝对了哈,基本没什么用啦
herowach 2008-09-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 doggod2008 的回复:]
不太明白,绝对路径是指加盘符那种么,不能跟C#那样用~表示跟目录么?我用/congig.xml就不行,谁能说说Flex的路径是咋整的啊?有在类中引用路径的,有在控件中引用的,这些路径应该遵循什么规则呢?
[/Quote]

你是怎么访问的SWF?通过FlexBuilder本地运行的,还是在WebService上通过URL地址访问的?

flex里用相对路径和绝对路径都可以的,如果是通过http://XXXX:XX/XXX/XXX.JSP/ASP(SWF文件所嵌入的页面)访问的,
如果用相对路径就是相对于这个XXX.JSP(ASP)的路径,例如如果你写new HTTPService("../config.xml");
FLEX会去这个页面(JSP或ASP)的目录的上一层去找config.xml这个文件,你也可以使用绝对路径,
即new HTTPService("http://XXXX:XX/XXX/config.xml");一般要使用绝对路径是通过在页面里生成然后传入FLEX的.
hy_lihuan 2008-09-25
  • 打赏
  • 举报
回复
看看有没有处理路径的函数,应该是提供的
lsj070599 2008-09-25
  • 打赏
  • 举报
回复
晕倒.

绝对路径: 完整的路径.
相对路径: 相对某个文件的路径.


D:\config.xml : 绝对路径
\config.xml : 相对路径.



Flex下除了用绑定,其他的路径都是相对输出的 SWF目录.
绑定则是相对 src目录
doggod2008 2008-09-24
  • 打赏
  • 举报
回复
不太明白,绝对路径是指加盘符那种么,不能跟C#那样用~表示跟目录么?我用/congig.xml就不行,谁能说说Flex的路径是咋整的啊?有在类中引用路径的,有在控件中引用的,这些路径应该遵循什么规则呢?
herowach 2008-09-24
  • 打赏
  • 举报
回复
最好通过WEB方式请求数据,
可以通过在JSP里拼成指定的URL传入FLEX里,这样比较灵活,也不容易出错;

例如:JSP里:
String sDataPath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/XXXContent/XXX.XML";

然后配置文件最好不要跟FLEX的源文件放一起(一般只有通过@Embed到SWF中的资源才放在SRC目录),
最好跟该FLEX所对应的JSP或ASP放同一个目录,这样最后也比较好找.
needspeedboy 2008-09-24
  • 打赏
  • 举报
回复
一般都在跟目录下或是assets里放xml,你这样不是打乱了项目的目录结构
lsj070599 2008-09-24
  • 打赏
  • 举报
回复
比如: 如果相对路径是: D:\1\src\config.xml

那写成: services = new HTTPService ("D://1//src//config.xml");


doggod2008 2008-09-23
  • 打赏
  • 举报
回复
我的config文件放在src跟目录下,而config.as类放在src/user_control/目录下


我想问一下绝对路径怎么写。因为类可能在别的地方调用,相对路径恐怕不行吧?
lsj070599 2008-09-23
  • 打赏
  • 举报
回复
services = new HTTPService('../Config.xml');
services.addEventListener(ResultEvent.RESULT, config_result);
services.addEventListener(FaultEvent.FAULT, services_fault);
services.send();
lsj070599 2008-09-23
  • 打赏
  • 举报
回复
你设置的相对路径是对的.
看你的输出的SWF目录下的上一级目录有没有config.xml文件

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧