flex与servlet交互数据,有以下几个方面需要注意flex 2010-03-19 18:33:38 阅读55 评论0 字号:大中小
flex与servlet交互数据,有以下几个方面需要注意
参数的传递:
中文乱码的解决
返回值的处理
以下是我今天写的一个执行正常的程序
flex代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
private function doRequest():void{
this.btn_do.enabled=false;
var url:String="http://localhost:8080/Test/servlet/BUAA";
this.sevlet.url=url;
var param:URLVariables=new URLVariables();
//这个对象是用来设置url中需要传递的参数,将所传递的参数一一按照如下的格式设置,即可传递到后台服务器
//如下所示传递了两个参数,一个是username,一个是timestamp
param.username=this.txt.text;
param.timestamp=(new Date()).toString();
//////////////////////////////////////////////////////////////////////////////////
this.sevlet.send(param);//
}
//下面这个函数是服务器处理完毕后flex的处理函数,在下文的标签里有定义
private function resultHandler(event:ResultEvent):void{
Alert.show(event.result.user);
this.btn_do.enabled=true;
}
]]>
</mx:Script>
<mx:HTTPService id="sevlet" resultFormat="e4x" result="resultHandler(event)"/>
<mx:Panel title="测试与servlet后台交互" layout="absolute" width="100%" height="90%">
<mx:VBox>
<mx:Button id="btn_do" label="取得数据" click="doRequest();" fontSize="14"/>
<mx:TextInput id="txt" text="输入文字" fontSize="14"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
Servlet端的代码如下
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/xml;charset=utf-8");
String para = request.getParameter("username");
PrintWriter out = response.getWriter();
String strOut = new String(para.getBytes("ISO8859-1"), "utf-8");
out.println("<zpa>");
out.println("<user>"+strOut+"</user>");
out.println("</zpa>");
out.flush();
out.close();
}
对于中文参数的传递,在flex里有以下两个对应的处理函数
//下面的这2个函数是用来处理flex中传递中文参数乱码问题的,一个编码,一个解码
private function htmlParaEncoding(para:String):String{
return encodeURIComponent(para);
}
private function htmlParaDecoding(para:String):String{
return decodeURIComponent(para);
}
不过一般在flex端只需要用编码函数,java中打印结果时使用java.net.URLDecoder.decode方法解码,如下面这个例子
flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontSize="12" xmlns:local="*">
<mx:TraceTarget/>
<mx:Style>
.lab{
fontWeight: "bold";
/*color: #FF0000;*/
fontSize: 15;
}
</mx:Style>
<mx:Script>
<![CDATA[
//对提交给后台的参数进行UTF-8的编码处理
private function httpEncoding(param:String):String{
return encodeURIComponent(param);
}
private function doLogin():void {
//trace("focusEnabled:"+loading.focusEnabled);
//this.focusManager.setFocus(user);
var url:String = "http://localhost:8080/Test/servlet/BUAA";
var params:URLVariables = new URLVariables();
//这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取
params.user = httpEncoding(user.text);
params.psw = psw.text;
var loader:URLLoader = new URLLoader();
this.configureEventListeners(loader);
//可以不设置,因为默认是text
loader.dataFormat = URLLoaderDataFormat.TEXT;
var request:URLRequest = new URLRequest(url);
request.data = params;
try{
loader.load(request);
}catch(error:Error){
trace(error.message);
}
}
private function configureEventListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("--complete..."+event.target.data);
//var dataXML:XML = XML(event.target.data);
//trace(dataXML.toXMLString());
btn_btn.enabled=true;
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
//this.focusManager.setFocus(loading);
btn_btn.enabled=false;
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
]]>
</mx:Script>
<mx:Panel title="欢迎登录WAP管理系统:" width="307" height="189" layout="absolute" verticalAlign="top" horizontalCenter="-10.5" verticalCenter="-9">
<mx:Label x="32" y="25" text="登录口令:" width="59"/>
<mx:TextInput id="user" x="99" y="23" width="147"/>
<mx:Label x="32" y="53" text="登录密码:" width="59"/>
<mx:TextInput id="psw" x="99" y="51" displayAsPassword="true" width="147"/>
<mx:ControlBar alpha="1">
<mx:Button id="btn_btn" x="58" y="92" label="确 定" click="this.doLogin();"/>
<mx:Button x="162" y="92" label="取 消"/>
<mx:Label x="0" y="129" text="Powered by Keren" textAlign="right"/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>
java代码
String usr = java.net.URLDecoder.decode(request.getParameter("user"), "UTF-8");
System.out.println("取得传入的参数:"+usr);
String psw = java.net.URLDecoder.decode(request.getParameter("psw"), "UTF-8");
System.out.println("取得传入的参数:"+psw);
out.flush();
out.close();
此外,在网上也参考到一些不错的文章,摘录如下:
http://www.cnblogs.com/dannyr/archive/2004/11/24/68026.html
原文
情况:
Flex默认使用的都是utf-8编码,包括Get,Post等方法。而Tomcat服务器端接收request对象默认是8859_1 编码,添加Tomcat的request Filter用request.setCharacterEncoding("utf-8"); 来设置,这个方法属于Tomcat设置和Flex无关,暂不讨论!
flex ->Jsp:
有2种情况 //我试验第2种情况,测试通过
情况一、MXML源代码文件中写入的中文字符:
Flex使用 System.useCodepage = true;即使用本地操作系统编码(GBK) 设置Flex的处理编码。Jsp中用依然用ISO_8859_1 编码来处理,并转化为GBK 。这样Jsp可以正确解释Flex传递的中文字符。 这个时候可以认为Flex对mxml源代码文件进行编译时候,源代码中的中文字符已经混乱了,所以要加上System.useCodepage = true;语句, 按GBK编码将中文字符从Flex发送到Tomcat。
同时Tomcat中Jsp应该按GBK 重新编码
String categoryID = request.getParameter("categoryID");
String strOut = new String(categoryID.getBytes("ISO8859-1 "), "GBK ");
System.out.println("categoryID="+categoryID);
System.out.println("categoryID="+strOut);
情况二、Flex运行时候由输入框输入的中文字符
这个时候输入框输入的中文字符是一定为UTF-8编码的,所以Flex中System.useCodepage = false;或者不设置,就默认utf-8编码格式传递数据,而Tomcat中Jsp使用下面语句按UTF-8来重新编码
String categoryID = request.getParameter("categoryID");
String strOut = new String(categoryID.getBytes("ISO8859-1"), "utf-8");
System.out.println("categoryID="+categoryID);
System.out.println("categoryID="+strOut);
Jsp->Flex:
Jsp页面用页面指令<%@ page contentType="text/html;charset=utf-8"%> 设置,返回结果是utf-8编码,Flex接收后成功解释并正确显示。
原文:http://haitao-love-u.blog.sohu.com/116743431.html
通常办法在jsp页面中,加入<% request.setCharacterEncoding("utf-8"); %>,flex默认编码是utf-8。然而,如果问题没有解决,依旧是乱码的话,那么,打开你的tomcat目录下的conf/server.xml文件,观察: <Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>,若没有URIEncoding="UTF-8",添加进去,这样问题就圆满解决了。顺便说下,mysql数据库编码也是utf-8
原文:http://java-007.iteye.com/blog/381617
最近看一些文档,总结了一些<mx:HTTPService>给后台传递参数的方法,列举如下:
方法1:采用URLVariables对象
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontSize="12"
>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
//对提交给后台的参数进行UTF-8的编码处理
private function httpEncoding(param:String):String{
return encodeURIComponent(param);
}
private function httpEncoding0(param:String):String{
return param;//encodeURI(param);
}
private function doRequest():void{
btn_do.enabled=false;
var url:String = "http://localhost:8600/grid.jsp";
//以下那样写后台会乱码,不管是否做URI编码转换
//url += "?user="+httpEncoding0("用户名");
//url += "&psw="+httpEncoding0("密码");
//trace(url);
srv.url = url;
//srv.send();
//以下这样写正常
var params:URLVariables = new URLVariables();
//这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取
params.user = httpEncoding("用户名");
params.psw = httpEncoding("密码");
srv.send(params);
}
private function resultHandler(event:ResultEvent):void{
Alert.show("与后台交互结束,前台开始取得的数据...","提示信息");
btn_do.enabled=true;
}
]]>
</mx:Script>
<mx:HTTPService id="srv" result="resultHandler(event);"/>
<mx:Panel title="测试与jsp后台交互" layout="absolute" width="100%" height="90%">
<mx:Button id="btn_do" label="取得数据" click="doRequest();"/>
<mx:Spacer height="1"/>
<mx:DataGrid dataProvider="{srv.lastResult.catalog.product}" width="100%" height="100%" y="28"/>
</mx:Panel>
</mx:Application>
方法2:采用<mx:request/>,同时也演示了mx:State的用法,[来自网上]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:states>
<mx:State name="Logged In">
<mx:SetProperty target="{panel1}" name="width" value="95%"/>
<mx:SetProperty target="{panel1}" name="height" value="95%"/>
<mx:RemoveChild target="{password}"/>
<mx:RemoveChild target="{username}"/>
<mx:RemoveChild target="{label1}"/>
<mx:RemoveChild target="{Submit}"/>
<mx:RemoveChild target="{label2}"/>
<mx:SetProperty target="{panel1}" name="title" value="Members Section"/>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="10" text="Welcome to the Members Section!"/>
</mx:AddChild>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="36" text="Here you can do great things, like join the forums @ Viper Creations!"/>
</mx:AddChild>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="62" text="Label"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
]]>
</mx:Script>
<mx:Script>
<![CDATA[
private function checkLogin(evt:ResultEvent):void
{
if(evt.result.loginsuccess == "yes")
{
currentState = "Logged In";
}
if(evt.result.loginsuccess == "no")
{
mx.controls.Alert.show(''Invalid username/password'');
}
}
]]>
</mx:Script>
<mx:HTTPService id="login_user" result="checkLogin(event)" showBusyCursor="true" method="POST" url="http://www.vipercreations.com/site_admin/login.php" useProxy="false">
<mx:request xmlns="">
<username>
{username.text}
</username>
<password>
{password.text}
</password>
</mx:request>
</mx:HTTPService>
<mx:Panel resizeEffect="Resize" width="250" height="200" layout="absolute" title="Login System" horizontalCenter="0" verticalCenter="-2" id="panel1">
<mx:Label x="10" y="10" text="Username:" id="label1"/>
<mx:TextInput x="10" y="36" id="username"/>
<mx:Label x="10" y="66" text="Password:" id="label2"/>
<mx:TextInput x="10" y="92" id="password" displayAsPassword="true"/>
<mx:Button x="10" y="122" label="Submit" id="Submit" click="login_user.send();"/>
</mx:Panel>
</mx:Application>
flex与servlet交互数据,有以下几个方面需要注意
参数的传递:
中文乱码的解决
返回值的处理
以下是我今天写的一个执行正常的程序
flex代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
private function doRequest():void{
this.btn_do.enabled=false;
var url:String="http://localhost:8080/Test/servlet/BUAA";
this.sevlet.url=url;
var param:URLVariables=new URLVariables();
//这个对象是用来设置url中需要传递的参数,将所传递的参数一一按照如下的格式设置,即可传递到后台服务器
//如下所示传递了两个参数,一个是username,一个是timestamp
param.username=this.txt.text;
param.timestamp=(new Date()).toString();
//////////////////////////////////////////////////////////////////////////////////
this.sevlet.send(param);//
}
//下面这个函数是服务器处理完毕后flex的处理函数,在下文的标签里有定义
private function resultHandler(event:ResultEvent):void{
Alert.show(event.result.user);
this.btn_do.enabled=true;
}
]]>
</mx:Script>
<mx:HTTPService id="sevlet" resultFormat="e4x" result="resultHandler(event)"/>
<mx:Panel title="测试与servlet后台交互" layout="absolute" width="100%" height="90%">
<mx:VBox>
<mx:Button id="btn_do" label="取得数据" click="doRequest();" fontSize="14"/>
<mx:TextInput id="txt" text="输入文字" fontSize="14"/>
</mx:VBox>
</mx:Panel>
</mx:Application>
Servlet端的代码如下
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/xml;charset=utf-8");
String para = request.getParameter("username");
PrintWriter out = response.getWriter();
String strOut = new String(para.getBytes("ISO8859-1"), "utf-8");
out.println("<zpa>");
out.println("<user>"+strOut+"</user>");
out.println("</zpa>");
out.flush();
out.close();
}
对于中文参数的传递,在flex里有以下两个对应的处理函数
//下面的这2个函数是用来处理flex中传递中文参数乱码问题的,一个编码,一个解码
private function htmlParaEncoding(para:String):String{
return encodeURIComponent(para);
}
private function htmlParaDecoding(para:String):String{
return decodeURIComponent(para);
}
不过一般在flex端只需要用编码函数,java中打印结果时使用java.net.URLDecoder.decode方法解码,如下面这个例子
flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontSize="12" xmlns:local="*">
<mx:TraceTarget/>
<mx:Style>
.lab{
fontWeight: "bold";
/*color: #FF0000;*/
fontSize: 15;
}
</mx:Style>
<mx:Script>
<![CDATA[
//对提交给后台的参数进行UTF-8的编码处理
private function httpEncoding(param:String):String{
return encodeURIComponent(param);
}
private function doLogin():void {
//trace("focusEnabled:"+loading.focusEnabled);
//this.focusManager.setFocus(user);
var url:String = "http://localhost:8080/Test/servlet/BUAA";
var params:URLVariables = new URLVariables();
//这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取
params.user = httpEncoding(user.text);
params.psw = psw.text;
var loader:URLLoader = new URLLoader();
this.configureEventListeners(loader);
//可以不设置,因为默认是text
loader.dataFormat = URLLoaderDataFormat.TEXT;
var request:URLRequest = new URLRequest(url);
request.data = params;
try{
loader.load(request);
}catch(error:Error){
trace(error.message);
}
}
private function configureEventListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("--complete..."+event.target.data);
//var dataXML:XML = XML(event.target.data);
//trace(dataXML.toXMLString());
btn_btn.enabled=true;
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
//this.focusManager.setFocus(loading);
btn_btn.enabled=false;
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
]]>
</mx:Script>
<mx:Panel title="欢迎登录WAP管理系统:" width="307" height="189" layout="absolute" verticalAlign="top" horizontalCenter="-10.5" verticalCenter="-9">
<mx:Label x="32" y="25" text="登录口令:" width="59"/>
<mx:TextInput id="user" x="99" y="23" width="147"/>
<mx:Label x="32" y="53" text="登录密码:" width="59"/>
<mx:TextInput id="psw" x="99" y="51" displayAsPassword="true" width="147"/>
<mx:ControlBar alpha="1">
<mx:Button id="btn_btn" x="58" y="92" label="确 定" click="this.doLogin();"/>
<mx:Button x="162" y="92" label="取 消"/>
<mx:Label x="0" y="129" text="Powered by Keren" textAlign="right"/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>
java代码
String usr = java.net.URLDecoder.decode(request.getParameter("user"), "UTF-8");
System.out.println("取得传入的参数:"+usr);
String psw = java.net.URLDecoder.decode(request.getParameter("psw"), "UTF-8");
System.out.println("取得传入的参数:"+psw);
out.flush();
out.close();
此外,在网上也参考到一些不错的文章,摘录如下:
http://www.cnblogs.com/dannyr/archive/2004/11/24/68026.html
原文
情况:
Flex默认使用的都是utf-8编码,包括Get,Post等方法。而Tomcat服务器端接收request对象默认是8859_1 编码,添加Tomcat的request Filter用request.setCharacterEncoding("utf-8"); 来设置,这个方法属于Tomcat设置和Flex无关,暂不讨论!
flex ->Jsp:
有2种情况 //我试验第2种情况,测试通过
情况一、MXML源代码文件中写入的中文字符:
Flex使用 System.useCodepage = true;即使用本地操作系统编码(GBK) 设置Flex的处理编码。Jsp中用依然用ISO_8859_1 编码来处理,并转化为GBK 。这样Jsp可以正确解释Flex传递的中文字符。 这个时候可以认为Flex对mxml源代码文件进行编译时候,源代码中的中文字符已经混乱了,所以要加上System.useCodepage = true;语句, 按GBK编码将中文字符从Flex发送到Tomcat。
同时Tomcat中Jsp应该按GBK 重新编码
String categoryID = request.getParameter("categoryID");
String strOut = new String(categoryID.getBytes("ISO8859-1 "), "GBK ");
System.out.println("categoryID="+categoryID);
System.out.println("categoryID="+strOut);
情况二、Flex运行时候由输入框输入的中文字符
这个时候输入框输入的中文字符是一定为UTF-8编码的,所以Flex中System.useCodepage = false;或者不设置,就默认utf-8编码格式传递数据,而Tomcat中Jsp使用下面语句按UTF-8来重新编码
String categoryID = request.getParameter("categoryID");
String strOut = new String(categoryID.getBytes("ISO8859-1"), "utf-8");
System.out.println("categoryID="+categoryID);
System.out.println("categoryID="+strOut);
Jsp->Flex:
Jsp页面用页面指令<%@ page contentType="text/html;charset=utf-8"%> 设置,返回结果是utf-8编码,Flex接收后成功解释并正确显示。
原文:http://haitao-love-u.blog.sohu.com/116743431.html
通常办法在jsp页面中,加入<% request.setCharacterEncoding("utf-8"); %>,flex默认编码是utf-8。然而,如果问题没有解决,依旧是乱码的话,那么,打开你的tomcat目录下的conf/server.xml文件,观察: <Connector port="8080" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>,若没有URIEncoding="UTF-8",添加进去,这样问题就圆满解决了。顺便说下,mysql数据库编码也是utf-8
原文:http://java-007.iteye.com/blog/381617
最近看一些文档,总结了一些<mx:HTTPService>给后台传递参数的方法,列举如下:
方法1:采用URLVariables对象
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontSize="12"
>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
//对提交给后台的参数进行UTF-8的编码处理
private function httpEncoding(param:String):String{
return encodeURIComponent(param);
}
private function httpEncoding0(param:String):String{
return param;//encodeURI(param);
}
private function doRequest():void{
btn_do.enabled=false;
var url:String = "http://localhost:8600/grid.jsp";
//以下那样写后台会乱码,不管是否做URI编码转换
//url += "?user="+httpEncoding0("用户名");
//url += "&psw="+httpEncoding0("密码");
//trace(url);
srv.url = url;
//srv.send();
//以下这样写正常
var params:URLVariables = new URLVariables();
//这个user,psw就是传入后台的参数user,jsp就用 request.getParameter("user")来取
params.user = httpEncoding("用户名");
params.psw = httpEncoding("密码");
srv.send(params);
}
private function resultHandler(event:ResultEvent):void{
Alert.show("与后台交互结束,前台开始取得的数据...","提示信息");
btn_do.enabled=true;
}
]]>
</mx:Script>
<mx:HTTPService id="srv" result="resultHandler(event);"/>
<mx:Panel title="测试与jsp后台交互" layout="absolute" width="100%" height="90%">
<mx:Button id="btn_do" label="取得数据" click="doRequest();"/>
<mx:Spacer height="1"/>
<mx:DataGrid dataProvider="{srv.lastResult.catalog.product}" width="100%" height="100%" y="28"/>
</mx:Panel>
</mx:Application>
方法2:采用<mx:request/>,同时也演示了mx:State的用法,[来自网上]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:states>
<mx:State name="Logged In">
<mx:SetProperty target="{panel1}" name="width" value="95%"/>
<mx:SetProperty target="{panel1}" name="height" value="95%"/>
<mx:RemoveChild target="{password}"/>
<mx:RemoveChild target="{username}"/>
<mx:RemoveChild target="{label1}"/>
<mx:RemoveChild target="{Submit}"/>
<mx:RemoveChild target="{label2}"/>
<mx:SetProperty target="{panel1}" name="title" value="Members Section"/>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="10" text="Welcome to the Members Section!"/>
</mx:AddChild>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="36" text="Here you can do great things, like join the forums @ Viper Creations!"/>
</mx:AddChild>
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:Label x="10" y="62" text="Label"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
]]>
</mx:Script>
<mx:Script>
<![CDATA[
private function checkLogin(evt:ResultEvent):void
{
if(evt.result.loginsuccess == "yes")
{
currentState = "Logged In";
}
if(evt.result.loginsuccess == "no")
{
mx.controls.Alert.show(''Invalid username/password'');
}
}
]]>
</mx:Script>
<mx:HTTPService id="login_user" result="checkLogin(event)" showBusyCursor="true" method="POST" url="http://www.vipercreations.com/site_admin/login.php" useProxy="false">
<mx:request xmlns="">
<username>
{username.text}
</username>
<password>
{password.text}
</password>
</mx:request>
</mx:HTTPService>
<mx:Panel resizeEffect="Resize" width="250" height="200" layout="absolute" title="Login System" horizontalCenter="0" verticalCenter="-2" id="panel1">
<mx:Label x="10" y="10" text="Username:" id="label1"/>
<mx:TextInput x="10" y="36" id="username"/>
<mx:Label x="10" y="66" text="Password:" id="label2"/>
<mx:TextInput x="10" y="92" id="password" displayAsPassword="true"/>
<mx:Button x="10" y="122" label="Submit" id="Submit" click="login_user.send();"/>
</mx:Panel>
</mx:Application>
评论
1 楼
tianhaos
2011-01-26
楼主 请教一下 我用你的例子 报 “-由于“HTTPService”声明未实现“mx.core.IUIComponent”,它必须包含在 <Declarations> 标签中。”错误,请问怎么解决啊 !!!谢谢了!!!
发表评论
-
Flex组件的一些怪问题
2010-08-13 17:55 1022Flex组件的一些怪问题 ... -
tree 单击节点,打开
2010-07-27 13:36 1045var item:Object=Tree(event.c ... -
bitmap,bitmapdata截图
2010-07-09 11:33 1325<?xml version="1.0&q ... -
flex 画虚线
2010-06-30 11:25 1070转:http://dxm1986.iteye.com/blog ... -
flex 特效
2010-06-29 16:36 1138flex特效 [ 20 ... -
textinput restrict
2010-06-17 20:10 1077Flex TextInput 禁止输入特殊字符 < ... -
preloader 美化
2010-06-11 16:56 993loader 主体: package com.di ... -
flex 加载 bmp图片
2010-06-06 10:17 1899<?xml version="1.0& ... -
tooltip巧妙
2010-06-03 17:11 781<?xml version="1.0&qu ... -
flex httpservice 读缓存
2010-06-02 09:36 1046发现谷歌浏览器器也读缓存 没办法 req.url=&q ... -
datagrid显示tooltip方法
2010-05-28 17:19 1309在DataGrid上显示toolTip &l ... -
flex tabnavigator 事件
2010-05-20 09:16 1547最近用到TabNavigator,想在那个tabBar上点 ... -
改变Flex DataGrid 行的背景色
2010-05-18 21:04 1625首先写自定义类 继承自DataGrid package ... -
Adobe AIR应用案例128例
2010-05-18 21:01 680http://www.cnblogs.com/xxcainia ... -
flex 缓冲函数
2010-05-18 20:58 824http://fleksray.org/skins/treec ... -
includelayout 属性
2010-05-18 19:19 919一直被这个问题困扰,就是在设置UI的Visible的时候, ... -
destroyItemEditor
2010-05-17 16:37 817var dg:DataGrid=event.currentTa ... -
cairgorm 详解
2010-05-12 21:27 844转载: http://houwei.iteye.com/bl ... -
flex combobox datagrid
2010-05-06 20:18 909<?xml version="1.0" ... -
flex 自定义控件 用 checkbox
2010-05-06 20:16 1367Flex : 用 CheckBox 做 DataGrid ...
相关推荐
在Flex与Servlet交互过程中,需要注意字符编码的一致性,以避免乱码问题。例如,在Flex中对字符串进行编码和解码时可以使用如下方法: - **编码**: - `private function htmlParaEncoding(para:String):String{` ...
Flex Servlet与Spring的整合是构建富互联网应用程序(RIA)时常用的一种技术组合。Flex作为客户端的展示层,提供丰富的用户界面交互,而Spring作为服务端的业务层框架,负责处理业务逻辑和数据管理。这种整合使得...
### 整合Flex与Spring常遇到的问题 ...总之,在整合Flex与Spring时,需要注意配置文件的正确性以及各个框架之间的协调工作。通过上述步骤的细致调整和测试,可以有效地解决常见的问题,实现一个稳定高效的集成系统。
在开发Web应用时,将富互联网应用...在实际开发中,还需要注意版本兼容性,确保所使用的Flex SDK、JSP环境和相关库文件版本匹配,以避免可能出现的问题。同时,良好的错误处理和调试机制也是确保项目顺利进行的关键。
`MessageBrokerServlet`是消息代理servlet,配置了服务配置文件`servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>`,通过`<param-value>/WEB-INF/flex/services-config.xml</param-value>`指定。...
当Flex应用与Java后端集成时,需要注意安全性问题,如防止XSS和CSRF攻击。此外,可以通过优化数据传输、缓存策略等方式提升应用性能。 8. **文档与PPT**: 提供的“flex和j2ee整合.doc”文档很可能是关于这个整合...
这些服务通过Java Servlet或Spring MVC等框架实现,返回的数据可以被Flex客户端解析并显示。注意,为了保证安全性,应使用HTTPS进行敏感数据的传输,并实现身份验证和授权机制。 4. 源码结构:FlexBBS项目的源码...
在实践中,可能还需要注意一些细节问题,比如跨域策略、错误处理、性能优化等。此外,理解MXML和ActionScript的数据绑定机制,以及Java中的序列化和反序列化过程,对于实现高效的JAVA与FLEX通信至关重要。 总之,...
### Flex与Servlet结合实现文件上传及下载功能 ...需要注意的是,服务器端的Servlet也需要相应地处理这些请求,具体实现细节未在本篇内容中涉及。此外,还可以进一步优化用户体验,例如增加错误处理机制、美化UI等。
Java通过Servlet或Spring MVC等框架处理HTTP请求,接收由Flex前端发送的文件数据。后端会将文件保存到服务器的文件系统或数据库中,并可能进行合法性验证、大小限制、格式检查等操作。 5. **文件上传流程**:在Flex...
本话题主要关注如何利用jasperreports、alivepdf和Flex技术来解决在Web应用中的打印和导出PDF的问题。 jasperreports是一个强大的开源报表库,它允许开发者设计复杂的报告模板,并能在多种格式下生成,包括PDF、...
综上所述,"flex+java 项目创建 和 例子"这个主题涵盖的内容广泛,包括技术栈的配置、项目结构的设计、前端与后端的通信、实际应用场景的示例,以及开发过程中的注意事项。对于想要学习或提升Flex与Java集成开发技能...
11. **注意事项**:为避免路径过深导致的问题,建议将所有开发工具安装在单独的文件夹,如 C 盘以外的其他盘符。同时,确保所有软件版本兼容,避免出现版本冲突。 综上所述,Flex4 集成 MyEclipse8.x 主要涉及 Flex...
尽管现有的 EmployeeMgmt 应用程序已经有了 Façade 接口,但这个接口是暴露给 Servlet 使用的,最好能再为 Flex 定义另一个接口 FlexService,并隐藏 Java 语言的特定对象(如 清单 1 所示): 清单 1. Flex...
在 Flex 开发中,文件上传和下载是常见的需求,尤其对于需要处理大量用户上传内容的应用来说,这是一项关键...在实际应用中,需要注意安全性问题,比如防止非法文件上传、处理大文件上传时的内存管理以及错误处理等。
通过 RemoteObject 进行调用虽然简单,但存在不少问题:首先,RemoteObject 是一个 Dynamic Class,Flex Builder 的编译器无法替我们检查参数类型和参数个数,这样,在编写 ActionScript 代码时极易出错。...
同时,掌握Java的Servlet和Filter等技术,以便在服务器端处理Flex的请求和响应。 总之,将Flex嵌入JSP页面是一个涉及前端和后端多方面技术的过程。解决遮挡问题需要综合运用HTML、CSS、JavaScript以及Flex和JSP的...
- 添加必要的依赖库,如 JSP、Servlet 等。 - 编写简单的后端逻辑和服务接口。 ##### 2. 配置Flex项目 - 在同一 IDE 中新建一个 Flex 项目。 - 设置 Flex 项目的编译路径,确保可以引用到 Java 项目中的类。 - 在 ...
注意,`FlexModule_j2ee.zip`实际上是一个war文件,需要重命名为zip并再次解压,以便获取其内部内容。 2. 将解压后的`flex`文件夹复制到你的Java Web工程的`WEB-INF`目录下,同时将`lib`目录中的`flex-bootstrap....