<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 22,comments - 35,trackbacks - 0

    利用XML的數據綁定和瀏覽器的自動顯示功能可以實現一個無刷新的數據瀏覽,即前后翻頁、頁碼定位的功能,本人實現時采用JSP+XML的方式。
    具體的效果可以參看:http://guide.pconline.com.cn/comment/topic.jsp?id=10178
    相關內容:
      通過數據綁定,可以把一個XML文檔鏈接到一個HTML頁,然后綁定標準的HTML元素,例如SPAN、TABLE,到獨立的XML元素。HTML元素會自動顯示所綁定的XML元素的內容。
      使用數據綁定的兩個主要步驟:
      1)鏈接XML文檔到想要顯示XML數據的HTML頁。
         有兩種方法:
           (A)通過在HTML頁中包括名為XML的HTML元素來完成。例如:<XML ID="dsoBook" SRC="Book.xml"></XML>,HTML頁中的某個元素(dsoBook)把XML文檔中Book.xml鏈接到該頁。
           (B)使用數據島的方法。例如:
               <HTML><HEAD>
                <TITLE></TITLE>
               </HEAD>
               <BODY><XML ID="dsoInventory">...</XML>
               </BODY></HTML>
      2)綁定HTML元素到XML元素。當綁定一個HTML元素到一個XML元素時,HTML元素會自動顯示所綁定的XML元素的內容。例如:<SPAN DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>,結果,HTML元素SPAN顯示元素AUTHOR的內容。
      下面是一個XML數據綁定的例子:
    ?  <!-- File Name: Inventory Table.htm -->
    ?<HTML>
    ?<HEAD>
    ??? <TITLE>Book Inventory</TITLE>
    ?</HEAD>
    ?<BODY>
    ??? <XML ID="dsoInventory" SRC="Inventory.xml"></XML>
    ??? <H2>Book Inventory</H2>
    ??? <TABLE DATASRC="#dsoInventory" BORDER="1" CELLPADDING="5">
    ?????? <THEAD>
    ?? <TH>Title</TH>
    ?? <TH>Author</TH>
    ?? <TH>Binding</TH>
    ?? <TH>Pages</TH>
    ?? <TH>Price</TH>
    ?????? </THEAD>????
    ?????? <TR ALIGN="center">
    ?? <TD><SPAN DATAFLD="TITLE"
    ????? STYLE="font-style:italic"></SPAN></TD>
    ?? <TD><SPAN DATAFLD="AUTHOR"></SPAN></TD>
    ?? <TD><SPAN DATAFLD="BINDING"></SPAN></TD>
    ?? <TD><SPAN DATAFLD="ID"></SPAN></TD>
    ?? <TD><SPAN DATAFLD="PRICE"></SPAN></TD>
    ?????? </TR>
    ??? </TABLE>
    ?</BODY>
    /////////////////////////////////////////////////////
    ?<?xml version="1.0"?>
    ?<!-- File Name: Inventory.xml -->
    ?<INVENTORY>
    ??? <BOOK>
    ?????? <TITLE>The Adventures of Huckleberry Finn</TITLE>
    ?????? <AUTHOR>Mark Twain</AUTHOR>
    ?????? <BINDING>mass market paperback</BINDING>
    ?????? <ID>298</ID>
    ?????? <PRICE>$5.49</PRICE>
    ??? </BOOK>
    ??? <BOOK>
    ?????? <TITLE>Leaves of Grass</TITLE>
    ?????? <AUTHOR>Walt Whitman</AUTHOR>
    ?????? <BINDING>hardcover</BINDING>
    ?????? <ID>462</ID>
    ?????? <PRICE>$7.75</PRICE>
    ??? </BOOK>
    ?</INVENTORY>
    ////////////////////////////////////////////////////////////
    利用XML數據綁定實現頁面無刷新的數據瀏覽具體做法:
    1)在XML.jsp中建立數據島。<XML id="dsoInventory" src="xmlsrc.jsp" ></XML>,其中xmlsrc.jsp文件是通過訪問數據庫后返回XML格式的數據,實現時應該包含求總記錄數據、每頁顯示條數、總頁數、分頁返回數據等方法。
     返回的數據格式如:
    ?<?xml version="1.0" encoding="GBK" ?>
    ?<INVENTORY>
    ?<onePageRows>5</onePageRows>
    ?<totalRows>21</totalRows>
    ?<totalPages>5</totalPages>
    ?<intCurrentPage>1</intCurrentPage>
    ? <BOOK>
    ?<TITLE>The Adventures of Huckleberry Finn</TITLE>
    ?<AUTHOR>Mark Twain</AUTHOR>
    ?<BINDING>mass market paperback</BINDING>
    ?<ID>298</ID>
    ?<PRICE>$5.49</PRICE>
    ?</BOOK>
    ?<BOOK>
    ?<TITLE>Leaves of Grass</TITLE>
    ?<AUTHOR>Walt Whitman</AUTHOR>
    ?<BINDING>hardcover</BINDING>
    ?<ID>462</ID>
    ?<PRICE>$7.75</PRICE>
    ?</BOOK>
    ?</INVENTORY>
    使用時可以根據具體情況返回相應的XML數據。
    2)在頁內綁定HTML元素到XML元素,借助TABLE顯示。
    <table id="cmmTbl" datasrc="dsoInventory" datafld="BOOk" width="760" border="0" cellspacing="1" cellpadding="2" align="center" bgcolor="#aaaaaa"?? style="border-collapse: collapse" bordercolor="#333333" >
    ????????? <thead>
    ????????? <tr bgcolor="#FFCC66">
    ??????????? <td? HEIGHT="24" BGCOLOR="#f0f9ff" WIDTH="60" >
    ????????????? <div align="center"><b>查看</b></div>
    ??? </td>
    ??????????? <td? HEIGHT="24" BGCOLOR="#f0f9ff" WIDTH="60" >
    ????????????? <div align="center"><b>作者</b></div>
    ??? </td>
    ??? <td width="580" BGCOLOR="#f0f9ff">
    ????? <div align="center"><b>標題</b></div>
    ??? </td>
    ??? <td? width="60" BGCOLOR="#f0f9ff">
    ????? <div align="center"><b>價格</b></div>
    ??? </td>
    ? </tr></thead>
    ? <tbody>
    ? <tr STYLE="background-color:expression(rowIndex%2==1?'#FFFFFF':'#f7f8f9')">
    ??? <td valign="top" WIDTH="60" align="center"><a? datafld="ID" target="_blank"><IMG SRC="images/xq.gif" ALT="查看" border="0"></a></td>
    ?????? <td valign="top" WIDTH="60"><span datafld="AUTHOR">作者</span></td>
    ?????? <td valign="top" width="580" ><a? datafld="ID" target="_blank"><span datafld="TITLE">標題</span></a></td>
    ?????? <td valign="top" width="60" > <span datafld="PRICE">價格</span></td>
    ? </tr></tbody>
    </table>
    3)增加分頁按鈕和分頁控制的JAVASCRIPT語句。
    <form onsubmit="jump(this);return false;" method="post">
    ????????? <div align="right">
    ??????? 每頁顯示
    <input name=pageSize datasrc=#dsoInventory datafld=onePageRows size=2>條,
    ??????? 共<span datasrc=#dsoInventory datafld=totalPages></span>頁
    ??????? <span datasrc=#dsoInventory datafld=totalRows ></span>條
    ??????? <input type=submit style="width=0" >
    ??????? <input name=firstPage type=submit value=首頁 onclick="pageNum.value=1">
    ??????? <input name=previousPage type=submit value=上頁 onclick="pageNum.value=pageNum.value-1">
    ??????? 第<input name=pageNum datasrc=#dsoInventory datafld=intCurrentPage size=2>頁
    ??????? <input name=nextPage type=submit value=下頁 onclick="pageNum.value=(pageNum.value-0)+1">
    ??????? <input name=lastPage type=submit value=尾頁 onclick="pageNum.value=pageCount.value" >
    ??????? <input name=pageCount type=hidden datasrc=#dsoInventory datafld=totalPages onpropertychange="pageCount_onpropertychange(form)">
    ????? </div> </form>
    ?<script>
    ?? if(document.body == null) document.write("&nbsp;");
    </script>
    <script language="javascript">
    ? function jump(form)
    ? {
    ?articles.src="xmlsrc.jsp?onePageRows="+form.pageSize.value+"&page="+form.pageNum.value+"&time="+(new Date()).getTime();
    ?/////alert("xmlsrc.jsp?page="+form.pageNum.value+"&onePageRows="+form.pageSize.value+"&time="+(new Date()).getTime());
    ?///file://提交后返回新的XML數據。
    ? }
    ? function pageCount_onpropertychange(form)
    ? {
    ??? if(form.pageNum.value==1)
    ??? {
    ????? form.firstPage.disabled=true;
    ????? form.previousPage.disabled=true;
    ??? }
    ??? else
    ??? {
    ????? form.firstPage.disabled=false;
    ????? form.previousPage.disabled=false;
    ??? }
    ??? if(form.pageNum.value==form.pageCount.value)
    ??? {
    ????? form.nextPage.disabled=true;
    ????? form.lastPage.disabled=true;
    ??? }
    ??? else
    ??? {
    ????? form.nextPage.disabled=false;
    ????? form.lastPage.disabled=false;
    ??? }
    ? }
    </script>
    //////////////////////////////////////////////////////////////////
    <!-- File Name: xml.jsp -->
    <script>
    ?? if(document.body == null) document.write("&nbsp;");
    </script>
    <script language="javascript">
    ? function jump(form)
    ? {
    ?dsoInventory.src="xmlsrc.jsp?onePageRows="+form.pageSize.value+"&page="+form.pageNum.value+"&time="+(new Date()).getTime();
    ?//alert("xmlsrc.jsp?page="+form.pageNum.value+"&onePageRows="+form.pageSize.value+"&time="+(new Date()).getTime());
    ?//提交后返回新的XML數據。
    ? }
    ? function pageCount_onpropertychange(form)
    ? {
    ??? if(form.pageNum.value==1)
    ??? {
    ????? form.firstPage.disabled=true;
    ????? form.previousPage.disabled=true;
    ??? }
    ??? else
    ??? {
    ????? form.firstPage.disabled=false;
    ????? form.previousPage.disabled=false;
    ??? }
    ??? if(form.pageNum.value==form.pageCount.value)
    ??? {
    ????? form.nextPage.disabled=true;
    ????? form.lastPage.disabled=true;
    ??? }
    ??? else
    ??? {
    ????? form.nextPage.disabled=false;
    ????? form.lastPage.disabled=false;
    ??? }
    ? }
    </script>
    <html>
    <head>
    <title>XML無刷新提交</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    ?<link rel="stylesheet" href="css/style.css" type="text/css">
    </head>
    <body bgcolor="303880" text="#000000" leftmargin="0" topmargin="0">
    <XML id="dsoInventory" src="xmlsrc.jsp?page=1" ></XML>
    <input type="button" value="aa" onclick="alert(dsoInventory.xml)">
    <table id="cmmTbl" datasrc="dsoInventory" datafld="BOOk" width="760" border="0" cellspacing="1" cellpadding="2" align="center" bgcolor="#aaaaaa"?? style="border-collapse: collapse" bordercolor="#333333" >
    ????????? <thead>
    ????????? <tr bgcolor="#FFCC66">
    ??????????? <td? HEIGHT="24" BGCOLOR="#f0f9ff" WIDTH="60" >
    ????????????? <div align="center"><b>查看</b></div>
    ??? </td>
    ??????????? <td? HEIGHT="24" BGCOLOR="#f0f9ff" WIDTH="60" >
    ????????????? <div align="center"><b>作者</b></div>
    ??? </td>
    ??? <td width="580" BGCOLOR="#f0f9ff">
    ????? <div align="center"><b>標題</b></div>
    ??? </td>
    ??? <td? width="60" BGCOLOR="#f0f9ff">
    ????? <div align="center"><b>價格</b></div>
    ??? </td>
    ? </tr></thead>
    ? <tbody>
    ? <tr STYLE="background-color:expression(rowIndex%2==1?'#FFFFFF':'#f7f8f9')">
    ??? <td valign="top" WIDTH="60" align="center"><a? datafld="ID" target="_blank"><IMG SRC="images/xq.gif" ALT="查看" border="0"></a></td>
    ?????? <td valign="top" WIDTH="60"><span datafld="AUTHOR">作者</span></td>
    ?????? <td valign="top" width="580" ><a? datafld="ID" target="_blank"><span datafld="TITLE">標題</span></a></td>
    ?????? <td valign="top" width="60" > <span datafld="PRICE">價格</span></td>
    ? </tr></tbody>
    </table>
    <form onsubmit="jump(this);return false;" method="post">
    ????????? <div align="right">
    ??????? 每頁顯示
    <input name=pageSize datasrc=#dsoInventory datafld=onePageRows size=2>條,
    ??????? 共<span datasrc=#dsoInventory datafld=totalPages></span>頁
    ??????? <span datasrc=#dsoInventory datafld=totalRows ></span>條
    ??????? <input type=submit style="width=0" >
    ??????? <input name=firstPage type=submit value=首頁 onclick="pageNum.value=1">
    ??????? <input name=previousPage type=submit value=上頁 onclick="pageNum.value=pageNum.value-1">
    ??????? 第<input name=pageNum datasrc=#dsoInventory datafld=intCurrentPage size=2>頁
    ??????? <input name=nextPage type=submit value=下頁 onclick="pageNum.value=(pageNum.value-0)+1">
    ??????? <input name=lastPage type=submit value=尾頁 onclick="pageNum.value=pageCount.value" >
    ??????? <input name=pageCount type=hidden datasrc=#dsoInventory datafld=totalPages onpropertychange="pageCount_onpropertychange(form)">
    ????? </div> </form>
    </body>
    </html>

     完成以上三步后,當用戶進行翻頁操作時將自動對表格內的數據進行重新的XML綁定,而不刷新頁面。

    posted on 2006-06-21 17:58 kelven 閱讀(346) 評論(0)  編輯  收藏 所屬分類: 無刷新

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


    網站導航:
     
    主站蜘蛛池模板: 光棍天堂免费手机观看在线观看| 黄色免费在线网址| 91精品国产免费网站| 亚洲AV无码一区二区乱子伦| 日本一区午夜艳熟免费| 丁香五月亚洲综合深深爱| 91精品成人免费国产| 亚洲av无码一区二区三区网站| 久久大香伊焦在人线免费| 久久精品国产亚洲77777| 四虎永久在线观看免费网站网址| 亚洲伊人久久大香线蕉在观| 24小时免费直播在线观看| 亚洲精华国产精华精华液网站| 日韩人妻无码免费视频一区二区三区| 亚洲成a人无码亚洲成www牛牛| 免费一级毛片不卡在线播放| 两个人看的www免费高清| 日韩亚洲AV无码一区二区不卡 | 无码少妇一区二区浪潮免费| 亚洲av无码专区在线| 四虎永久免费网站免费观看| 一区二区三区视频免费观看| 亚洲AV无码第一区二区三区 | 久久青青草原亚洲av无码| 男人天堂免费视频| 亚洲人成电影院在线观看| 日韩一级视频免费观看| 国产精品极品美女自在线观看免费 | 亚洲成熟丰满熟妇高潮XXXXX| 亚洲日韩精品无码专区网站| 84pao强力永久免费高清| 亚洲国产成人AV在线播放| 亚洲一区二区三区自拍公司| 67pao强力打造国产免费| 亚洲av无码成人影院一区| 亚洲乱码无码永久不卡在线| 国产成人午夜精品免费视频| 一级女性全黄久久生活片免费 | 国产免费丝袜调教视频| 黄色片网站在线免费观看|