我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          flex3 Grid獲取jsp數(shù)據(jù)的簡單應(yīng)用

          很多時候我們需要在jsp展現(xiàn)數(shù)據(jù)用的都是table,來看看
          用flex3的Grid怎么做。

          測試數(shù)據(jù):

           if object_id('product'is not null 
             
          drop table product

          create table product
          (
            id 
          int primary key identity(1,1),
            productName 
          varchar(50),
            remark 
          varchar(100)
          )

          declare @i int
          set @i = 1
          while @i < 100
          begin
             
          insert into product values('產(chǎn)品' + convert(varchar(3),@i),'備注' + convert(varchar(3),@i))
             
          set @i = @i + 1
          end


          select * from product

          grid需要的是xml數(shù)據(jù)源:
          <?xml version="1.0" encoding="utf-8"?>
          <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="list.send()">
              
          <!--jsp請求-->
              
          <!--<mx:HTTPService id="list" url="../index.jsp" />-->
              
          <!--Servlet請求-->
              
          <mx:HTTPService id="list" url="../productServlet" />
              
          <!--grid數(shù)據(jù)綁定-->
              
          <mx:DataGrid dataProvider="{list.lastResult.catalog.product}"  width="395" height="307" x="223" y="54" color="#F2C50F"></mx:DataGrid>
          </mx:Application>

          看一提供數(shù)據(jù)的Servlet:
          package com;

          import java.io.IOException;
          import java.io.PrintWriter;
          import java.util.List;

          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import com.dao.ProductDao;
          import com.vo.Product;

          @SuppressWarnings(
          "serial")
          public class ProductServlet extends HttpServlet
          {
              
          public void doGet(HttpServletRequest request, HttpServletResponse response)
                      
          throws ServletException, IOException
              
          {

                  response.setContentType(
          "text/html");
                  response.setCharacterEncoding(
          "utf-8");
                  PrintWriter out 
          = response.getWriter();
                  String str 
          = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
                  str 
          += "<catalog>";
                  ProductDao srv 
          = new ProductDao();
                  List
          <Product> list = null;
                  list 
          = srv.getAll();
                  Product product;
                  
          for (int i = 0; i < list.size(); i++)
                  
          {
                      product 
          = (Product) list.get(i);
                      str 
          += "<product productId=\"" + product.getId() + "\">";
                      str 
          += "<productName>" + product.getProductName() + "</productName>";
                      str 
          +=     "<remark>" + product.getRemark() +"</remark>";
                      str 
          += "</product>";
                  }

                  str 
          += "</catalog>";
                  out.write(str);
                  
              }


              
          public void doPost(HttpServletRequest request, HttpServletResponse response)
                      
          throws ServletException, IOException
              
          {
                  
          this.doGet(request, response);
              }


          }

          當然你也可以寫成jsp的形式:
          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          <%@page import="com.dao.ProductDao"%>
          <%@page import="com.vo.Product"%>

          <?xml version="1.0" encoding="utf-8"?>
          <catalog>
          <%
              ProductDao srv 
          = new ProductDao();
              List
          <Product> list = null;
              list 
          = srv.getAll();
              Product product;
              
          for (int i = 0; i < list.size(); i++)
              {
                  product 
          = (Product) list.get(i);
          %>
          <product productId="<%=product.getId()%>">
              
          <productName><%=product.getProductName()%></productName>
              
          <remark><%=product.getRemark()%></remark>
          </product>
          <%
              }
          %></catalog>

          HTTPService標簽實例化一個對象它將會請求jsp和反序列化請求對象。url屬性需要指定jsp或Servlet Action并且返回xml數(shù)據(jù)。其中l(wèi)ist是HTTPService標簽的id,lastResult屬性包含了一個對象叫"catalog",相當于xml的catalog節(jié)點。在catalog節(jié)點下有節(jié)點數(shù)組product.這個list.lastResult.catalog.product相當于從HTTPService請求jsp返回的數(shù)組。

           如圖:




          posted on 2008-11-10 10:14 々上善若水々 閱讀(2245) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 昔阳县| 南乐县| 通许县| 武安市| 旅游| 剑阁县| 淮安市| 青浦区| 安塞县| 长兴县| 澄迈县| 藁城市| 安乡县| 武宣县| 曲水县| 维西| 安康市| 酉阳| 白河县| 绥阳县| 双桥区| 彭州市| 洪江市| 五莲县| 安乡县| 濮阳县| 平原县| 甘孜| 黎平县| 靖江市| 基隆市| 冷水江市| 井冈山市| 博客| 徐闻县| 华亭县| 铁岭县| 合肥市| 江川县| 留坝县| 湘西|