将html页面加载到flex textarea

时间:2009-06-02 09:54:46

标签: html flex url

您好我想在flex的textarea框中显示一些网站的textcontent。

<?xml version="1.0" encoding="utf-8"?>

             

        import mx.managers.PopUpManager;
        import mx.core.Application;
        import flash.net.URLLoader;
        import mx.rpc.events.ResultEvent;
        import mx.controls.Text;
        import mx.controls.Alert; 

        [Bindable]
        private var xmlText:String;

        private function serviceResult(event:ResultEvent):void 
        {
        myTextArea.text = event.result.contents.content;
        }

        private function init():void{
        listContents.send();
        }
    ]]> 
</mx:Script>

<mx:HTTPService id="listContents" url="http://theurl.com" result="serviceResult(event)"/>

<mx:TextArea id="myTextArea" text="{xmlText}" />

任何想法?

3 个答案:

答案 0 :(得分:4)

我已经使用URLLoader和URLRequest这样做了b4但是使用了Flash CS3 因此在使用这个概念的flex尝试中也是一样的想法

public function sendSQLQuery(aspURL:String, variables:URLVariables, returnSQLXMLCallback:Function):void
        {
           var myXMLURL:URLRequest = new URLRequest(aspURL);          
           myXMLURL.data = variables;          
           myXMLURL.method = URLRequestMethod.POST;        
           var myLoader:URLLoader = new URLLoader();           
           //Define the event handlers to listen for success and failure
           myLoader.addEventListener ( IOErrorEvent.IO_ERROR, handleIOError );
           myLoader.addEventListener ( HTTPStatusEvent.HTTP_STATUS, handleHttpStatus );
           myLoader.addEventListener ( SecurityErrorEvent.SECURITY_ERROR, handleSecurityError );
           myLoader.dataFormat = URLLoaderDataFormat.TEXT;
           myLoader.addEventListener("complete", returnSQLXMLCallback);         
           myLoader.load(myXMLURL);
        }

然后我以XML格式接收返回的页面,然后解析它

答案 1 :(得分:1)

简写方式:

<mx:TextArea htmlText="{xmlText}" />    
<mx:String id="xmlText" source="data.xml" />

答案 2 :(得分:0)

尝试使用TextArea控件的.htmlText属性。从Flex文档中可以看到这里:

http://www.adobe.com/livedocs/flex/3/langref/mx/controls/TextArea.html#htmlText

这应该可行,但请记住,Flex控件的HTML呈现功能仍然非常简陋;你不会在样式或格式方面受到太多影响(因此关于这个主题的StackOverflow上的问题数量),但基础应该适用于你。