【问题标题】:How to get value of a hashmap passed from jsp to jquery or javascript code [duplicate]如何获取从jsp传递到jquery或javascript代码的hashmap的值[重复]
【发布时间】:2014-11-20 10:58:57
【问题描述】:

我已经搜索了所有其他问题,但这并没有解决我的问题,所以我再次询问,希望能解决这个问题。

我想将 Servlet 生成的 Hashmap 传递给 JSP 生成的页面。在此页面上,用户选择第一个下拉列表的特定值,该值填充第二个下拉列表的内容。 Map 的键是第一个列表的选项,以及第二个列表的值。

我尝试在脚本中创建地图并使用 jstl 对其进行迭代以创建新地图,但未成功。

这是我设置的 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>

【问题讨论】:

  • Java Servlet 和客户端 Javascript 存在于不同的时间。到 Javascript 运行时,servlet 已经完成了页面。
  • 好的,有什么办法可以解决这个问题
  • 你使用的是什么服务器/容器?

标签: java javascript jquery jsp hashmap


【解决方案1】:

两种解决方案。在这两种解决方案中,您都应该将 Map 转换为 JSON。 Jackson 可以自动为您完成这项工作

  1. 在您的 JSP 请求代码中,将 JSON 嵌入到脚本块中
  2. 在您的页面上使用 AJAX from Javascript 从单独的 JSP/Servlet 请求 JSON

【讨论】:

  • thanx 我认为这是唯一的方法......它不能解决问题,但它很有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
  • 1970-01-01
  • 2013-05-14
  • 2014-12-29
相关资源
最近更新 更多