`
唐朝
  • 浏览: 257981 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

随记:flex发送XML到servlet

    博客分类:
  • flex
阅读更多
一个Flex发送XML到Servlet,Servlet返回XML给Flex的过程示例(顺带了获取List选中值的获取示例)。
Flex主要代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.*;
            private var xx:XML = <lists>
                    <list>
                    <tag><title>曲目一</title></tag>
                    <tag><title>曲目二</title></tag>
                    <tag><title>曲目三</title></tag>
                    </list></lists>;
           private function selectVideo():void
{
Alert.show("当前选择的是第"+video_list.selectedIndex+"个选项,内容为:"+video_list.selectedItem.title);
//以下是测试flex端向servlet发送XML数据的例子
var loginXML:XML =
<users>
                            <user>
                                <userid>3.95</userid>
                                <username>中文会乱码,解决方法见 http://yinm.blogdriver.com/yinm/574004.html</username>
                                <emailaddress>email@email.com</emailaddress>
                            </user>
                        </users>;
                //employeeSrv.send();
employeeSrv.send(loginXML);
/**
* 服务器端:
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( request.getInputStream() );
System.out.println(doc.getRootElement().getChildren().size());//.getChild("item").getChildText("price").toString() );
response.setContentType("text/xml") ;
PrintWriter out = response.getWriter();

String str = "<?xml version='1.0' encoding='utf-8'?><users>";

str = str + "<user>";

str = str + "<userid>1</userid>";

str = str + "<username>" + "我靠" + "</username>";

str = str + "<emailaddress>" + "邮件" + "</emailaddress>";

str = str + "</user>";

str = str + "</users>";

out.print(str);
//以下这行在servlet中必写,jsp中不用写
out.flush();
或者这样去解析:
response.setCharacterEncoding("UTF-8");
String  o= request.getRequestURL().toString();
BufferedReader br = new BufferedReader(new InputStreamReader(
(ServletInputStream) request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
System.out.println(sb.append(line));
}
PrintWriter out = response.getWriter();
out.println(sb.toString());
out.flush();
*/
}
function getMsg(event:Object):void
{
Alert.show(employeeSrv.lastResult.users.user.username);
}
]]>
</mx:Script>
<mx:List id="video_list" x="0" y="0" width="230" height="390"
            dataProvider="{xx.list.tag}" labelField="title"
            change="selectVideo();">
    </mx:List>
    <mx:HTTPService id="employeeSrv" contentType="application/xml" method="get" result="getMsg(event.result);" url="http://localhost:8088/szeln/report.do?method=selectTrain" showBusyCursor="true"/>
    <mx:DataGrid id="dgUserRequest1" x="320" y="227" dataProvider="{employeeSrv.lastResult.users.user}" width="240">
<mx:columns>
<mx:DataGridColumn headerText="用户编号" dataField="userid" />
<mx:DataGridColumn headerText="用户名称" dataField="username" />
<mx:DataGridColumn headerText="邮件地址" dataField="emailaddress" />
</mx:columns>
</mx:DataGrid>
</mx:Application>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics