2011-06-22 58 views
0

我有以下的Ajax代碼:需要幫助分頁jsp中

function handleServerResponse() { 
     alert(xmlhttp.readyState); 
     if (xmlhttp.readyState == 4) { 
      alert(xmlhttp.status); 
      if (xmlhttp.status == 200) { 
       var jason = eval('(' + xmlhttp.responseText + ')'); 
       for (var index = 0; index <= jason.length; index++) { 
    document.getElementById('product-data').innerHTML += jason[index].productNumber 
        + jason[index].productType 
        + jason[index].funcDesignation + "<br>"; 
       } 
      } 

在我的jsp我用下面的代碼顯示的數據:

<td> 
<a href="<portlet:renderURL><portlet:param name='pageAction' value='Navigation'/></portlet:renderURL>">      <div><span id="product-data"></span></div>   
</a> 
</td> 

我想要實現這個代碼分頁。請用最簡單的方式指導。我經歷了幾個可用的標籤庫,但不知道它如何適合我的邏輯。

+0

你能縮小一點嗎?你的意思是你想用一個Ajax調用返回所有的數據,但是隨後使用客戶端代碼將其分割成頁面,而不再需要到服務器?還是你想調整你的服務器端代碼,一次只返回一個頁面,從而修改客戶端代碼以知道如何請求下一個/ prev頁面?如果你有大量的數據,我可能會推薦後者。 – nnnnnn

+0

是的,我正在採取第二種方式,因爲數據是巨大的 – Supriya

回答

1

ajax 要求是最重要的;如果回覆中有任何內容,您將不必進行太多改動。您將修改請求,以便發送「開始」參數和「計數」參數,其中「開始」是您的結果集的起始索引,「計數」是結果的數量(當然,您可以修改你的服務器端代碼,這樣你甚至不需要包括計數)。所以,你的Ajax請求的URI可能是這個樣子:

/myquery.jsp?start=20&count=10 

您的服務器端代碼將解析,並建立相應的SQL查詢,如:

SELECT * FROM myTable LIMIT 20, 10 

您可以跟蹤你的「開始「參數值,然後按照您的意願增加它。