2014-09-25 44 views
-2

我已經搜索了所有其他問題,但這並不能解決我的問題,所以我再次問及解決此問題的希望。如何獲得從jsp傳遞給jquery或javascript代碼的hashmap的值

我想將一個Servlet生成的Hashmap傳遞給JSP生成的頁面。在這個頁面上,用戶選擇第一個下拉菜單的特定值,它填充第二個下拉菜單的內容。地圖的鍵是第一個列表的選項,第二個列表的值。

我試圖在腳本中創建Map並使用jstl迭代它以創建新的Map,但未成功。

這裏是我的jQuery代碼我在哪裏設置:

$(document).ready(function() {  
//#year is the id of firstdropdown list 
$("#year").change(function() { 



    var operationFields = {}; 

    operationFields= populateArray(); 
    function populateArray(){ 
      <c:forEach var="entry" items="${requestScope.hmfillweekrange}"> 
      operationFields['${entry.key}']:'${entry.value}'; 

      </c:forEach> 
      alert("........."+operationFields); 
      return operationFields;   
}; 

這裏是我的jsp顯示代碼的下拉列表中的一部分:

在選擇一年的一週範圍應改變:

<td><select name="year" id="year"> 
    <c:forEach var="year" items="${arrYear}"> 
    <option>${year}</option> 
     </c:forEach> 
      </select></td> 
     <td class="tdmain MakeBold">Week</td> 

       <td><select name="weekRange" id="wRange" > 
         <c:forEach var="week" items="${arrWeeks}"> 
           <option>${week}</option> 
          </c:forEach> 
         </select></td> 
+0

的Java請求JSON上Servlet和客戶端Javascript生活在不同的時間。在Javascript運行的時候,servlet完成了頁面。 – ControlAltDel 2014-09-25 15:37:34

+0

好的,那麼什麼可以解決這個問題 – kirti 2014-09-25 15:38:05

+0

你使用什麼服務器/容器? – 2014-09-25 16:08:35

回答

2

兩種解決方案。在這兩種解決方案中,您應該將您的地圖轉換爲JSON。傑克遜可以自動爲你做這個

  1. 在你的JSP請求的代碼,嵌入JSON的腳本塊
  2. 使用AJAX from Javascript你的頁面從單獨的JSP/Servlet的
+0

thanx我認爲它是唯一的方法來做到這一點......它不解決問題,但它是有幫助的 – kirti 2014-09-26 08:29:51

相關問題