2013-04-23 52 views
0

我正在使用Spring MVC實現基於Web的Java應用程序。使用Spring MVC在頁面中多次提交

我現在正在做的是提供一個頁面,允許用戶從一組單選按鈕中選擇並通過點擊「Submit」按鈕導出一組CSV數據。

但是,我遇到了一種情況。

用戶下載一個CSV文件後,每當他們想要下載另一個CSV文件時,如果他們再次點擊「提交」按鈕,下載過程將不會被觸發,並出現一個對話框,說明「已提交的操作,等到操作完成。 「將出現。

這裏是我的代碼:

<form:form action="handle_export?user_id=${userId}" method="post"> 
       <div> 
        <table> 
         <tr> 
          <td> 
           <input id="set0" type="radio" name="exportType" value="0"/> 
          </td> 
          <td> 
           <label for="set0">dataset0 Export</label> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <input id="set1" type="radio" name="exportType" value="1"/> 
          </td> 
          <td> 
           <label for="set1">dataset1 Export</label> 
          </td> 
         </tr> 
        </table> 
       </div> 

      <input type="button" class="submit button-1" value="Download" name="bottom_Download" /> 
    </form:form> 

任何機會,我可以火「提交」按鈕多次?

非常感謝。

+0

我懷疑你的問題有什麼關係春。看起來像一些JavaScript當按鈕被擊中第一次被觸發。Spring自己不強制執行一鍵提交 – Akshay 2013-04-23 12:22:55

+0

這是否適用於Blackboard構建塊?如果是這樣,它可能是Bb的代碼攔截第二個請求。我碰到同樣的問題,並沒有想了解如何發送多個提交文件 – ruperto17 2013-04-29 21:08:52

+0

感謝您的建議,深入瞭解代碼後,我發現問題的原因與javascript函數有關,該函數以某種方式阻止對頁面的多次提交 @ ruperto17,a儘管我沒有開發Blackboard程序的經驗,但我聽說這對程序員來說是一場災難,尤其是標籤庫。祝您在Blackboard實施中獲得好運。 – Hei 2013-04-30 04:18:00

回答

0

我一直在掙扎黑板,我已經解決了這樣做的:從FORM
- 創建於JS的功能,舉例

- 刪除「行動」:generateCSV() - 功能會是這樣的:

var userid = document.getElementById('userid'); 
window.open('handle_export?user_id=' + userid); 

在handle_export,以下檢索值:

String userid = request.getParameter("userid"); 
// ... 
// generate and download file 

這樣,就在新窗口中打開,黑板沒有顯示出「已經提交的行動」的對話框。等到動作完成。」

我希望這有助於問候。