`
Supanccy2013
  • 浏览: 215080 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flex与Servlet通信 的简单计算器

    博客分类:
  • Flex
阅读更多
说明:
  前台供用户输入数字--->传递到后台-->进行计算--->把结果传递到前台。

mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<mx:HTTPService id="sevlet" resultFormat="e4x" result="resultHandler(event)"/>
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			var com:ArrayCollection = new ArrayCollection(["+","-","*","/"]);
			
			
			private function calculate():void{
				this.submit.enabled=false;
				var url:String="http://localhost:8080/myReport/FlexCalculate";
				this.sevlet.url=url;
				var param:URLVariables=new URLVariables();
				if(this.number1.text == "" || this.number2.text == ""){
				  Alert.show("请输入数字");
				  return;
				}
				param.number1=this.number1.text;
				param.number2=this.number2.text;
				param.opertion=this.myComboBox.text;
				param.timestamp=(new Date()).toString();
				this.sevlet.send(param);//
			}
			private function resultHandler(event:ResultEvent):void{
				result.text = event.result.user
				this.submit.enabled=true;
			}
			private function clean():void{
			    this.number1.text = "";
				this.number2.text = "";
				this.myComboBox.text = "+";
				this.result.text = "";
			}
		]]>
	</fx:Script>
	<s:Panel width="500" height="300" title="计算器" backgroundColor="#8C7C73" verticalCenter="0" horizontalCenter="0">
              <mx:VBox>
		        <mx:HBox>
					<s:TextInput width="150" id="number1"/>  
					<mx:ComboBox id="myComboBox" x="10" y="10" dataProvider="{com}" width="50"/>
					<s:TextInput width="150" id="number2"/>
					<s:Button label="=" width="30" id="submit" click="calculate();"/>
					<s:TextInput width="50" id="result"/>
				</mx:HBox>
		        <mx:HBox>
				    <s:Button label="计算" width="230" click="calculate();"/>
					<s:Button label="清除" width="230" click="clean();"/>
				</mx:HBox>
			  </mx:VBox>
	</s:Panel>
</s:Application>


servlet文件:
package controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FlexCalculate extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("1111");
		System.out.println("number1:" + request.getParameter("number1"));
		System.out.println("number2:" + request.getParameter("number2"));
		System.out.println("opertion:" + request.getParameter("opertion"));
		int result = 0;
		if(request.getParameter("opertion").equals("+")){
			result = Integer.valueOf(request.getParameter("number1")) + Integer.valueOf(request.getParameter("number2"));
		}else if(request.getParameter("opertion").equals("-")){
			result = Integer.valueOf(request.getParameter("number1")) - Integer.valueOf(request.getParameter("number2"));
		}else if(request.getParameter("opertion").equals("*")){
			result = Integer.valueOf(request.getParameter("number1")) * Integer.valueOf(request.getParameter("number2"));
		}else{
			result = Integer.valueOf(request.getParameter("number1")) / Integer.valueOf(request.getParameter("number2"));
		}
	    System.out.println("result1:" + result);
	    
	    request.setCharacterEncoding("UTF-8"); //flex中隐含为utf-8编码
        response.setContentType("text/xml;charset=utf-8");
        String para = request.getParameter("username");
        PrintWriter out = response.getWriter();
        out.println("<zpa>");
        out.println("<user>"+result+"</user>");
        out.println("</zpa>");
        out.flush();
        out.close();
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
           doGet(request,response);
	}
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics