2014-09-25 45 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

相关问题