- addTime.mxml:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%">
- <!--加載頁面時到該URL取值放入<mx:DataGrid>中-->
- <mx:Model source="http://localhost:8080/TestServlet/GetTime" id="alltime">
- </mx:Model>
- <mx:Script>
- <![CDATA[
- import mx.rpc.events.ResultEvent;
- import mx.controls.Alert;
- private function check():void{
- var start:String=startTime.text;
- var end:String=endTime.text;
- if(start==null || end==null || start=="" || end==""){
- Alert.show("請填寫完整數據","信息提示");
- }else{
- doSumit();
- }
- }
- //點擊按鈕觸發提交事件
- private function doSumit():void{
- submitButton.enabled=false;//按鈕置爲不可用
- //URLVariables:應用程序和服務器之間傳輸變量
- var params:URLVariables = new URLVariables();
- //傳向的URL 此處的TestServlet/GetTime爲我Tomcat下的工程TestServlet,及servlet映射GetTime
- submitTime.url="http://localhost:8080/TestServlet/GetTime";
- //傳輸方法,經測試默認爲get
- submitTime.method="post";
- //params.startTime中的startTime是隨意起的名稱,後臺jsp或servlet可用request.getParameter("startTime");來獲取值
- //startTime.text中的startTime是下面的<mx:TextInput>組件的id,其text屬性爲獲取其文本內容
- //<mx:TextInput>相當於<input type="text">
- params.startTime = startTime.text;
- params.endTime = endTime.text;
- submitTime.send(params);//發出發送指令
- }
- //HTTPService處理完提交數據後觸發事件,有點類似於aJax的處理數據後對象狀態爲4時的執行處理
- private function sentEnd(res:ResultEvent):void{
- Alert.show("數據已提交","提示信息");//提示框
- submitButton.enabled=true;//按鈕置爲可用
- startTime.text="";
- endTime.text="";
- }
- ]]>
- </mx:Script>
- <!--數據通過HTTPService傳輸-->
- <mx:HTTPService id="submitTime" result="sentEnd(event)"/>
- <mx:Panel width="100%" height="502" layout="absolute" horizontalCenter="5">
- <mx:HBox width="70%" height="8%" borderColor="#84CAFA" themeColor="#3AA7ED" borderStyle="outset" horizontalCenter="20">
- <mx:Label text="設置批次" width="10%" fontSize="14" color="#275C7B"/>
- <mx:Label text="開始時間:" fontSize="11"/>
- <mx:TextInput id="startTime"/>
- <mx:Label text="結束時間:" fontSize="11"/>
- <mx:TextInput id="endTime"/>
- <mx:Button id="submitButton" label="確定" fontSize="11" click="check()"/>
- </mx:HBox>
- <!--綁定DataGrid的數據源dataProvider-->
- <mx:DataGrid dataProvider="{alltime.times}" horizontalCenter="4" verticalCenter="24" width="80%" height="80%" fontSize="11">
- <mx:columns>
- <mx:DataGridColumn headerText="序號" dataField="id"/>
- <mx:DataGridColumn headerText="批次" dataField="time"/>
- <mx:DataGridColumn headerText="操作" dataField="act"/>
- <mx:DataGridColumn headerText="當前批次" dataField="isnow"/>
- </mx:columns>
- </mx:DataGrid>
- </mx:Panel>
- </mx:Module>
- -------------------------------------------------------------------------
- //Servlet :(url)GetTime
- package servlet;
- 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 GetTime extends HttpServlet {
- /**
- * Constructor of the object.
- */
- public GetTime() {
- super();
- }
- /**
- * Destruction of the servlet. <br>
- */
- public void destroy() {
- super.destroy(); // Just puts "destroy" string in log
- // Put your code here
- }
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request,response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html");
- response.setCharacterEncoding("utf-8");
- PrintWriter out = response.getWriter();
- if(request.getParameter("startTime")!=null){
- //接收flex中參數,經不完全測試,只有該轉碼方式不爲亂碼
- String startTime = new String(request.getParameter("startTime").getBytes("ISO-8859-1"),"UTF-8");
- String endTime = new String(request.getParameter("endTime").getBytes("ISO-8859-1"),"UTF-8");
- System.out.println(startTime+" *** "+endTime);
- }else{
- /**初始加載flex中addTime.mxml時從本servlet中取出所要在<mx:DataGrid>中顯示的數據
- * 目前鄙人只知道能夠從xml中獲取數據,所以通過servlet做出xml供flex取數據
- * 正式項目時此處可改爲從數據庫取數據
- **/
- out.println("<?xml version='1.0' encoding='utf-8' ?>");
- out.println("<alltime>");
- out.println("<times>");
- out.println("<id>1</id>");
- out.println("<time>2008-6-24</time>");
- out.println("<act>刪除</act>");
- out.println("<isnow>是</isnow>");
- out.println("</times>");
- out.println("<times>");
- out.println("<id>2</id>");
- out.println("<time>2008-5-19</time>");
- out.println("<act>刪除</act>");
- out.println("<isnow>否</isnow>");
- out.println("</times>");
- out.println("<times>");
- out.println("<id>3</id>");
- out.println("<time>2008-4-16</time>");
- out.println("<act>刪除</act>");
- out.println("<isnow>否</isnow>");
- out.println("</times>");
- out.println("</alltime>");
- out.flush();
- out.close();
- }
- }
- /**
- * Initialization of the servlet. <br>
- *
- * @throws ServletException if an error occurs
- */
- public void init() throws ServletException {
- // Put your code here
- }
- }