是否可以像在Java上那样从JSTL数组更改获取变量值?

时间:2019-01-01 10:56:12

标签: javascript java jstl

我想知道如何将下面的代码传递给jstl,以根据索引更改名称。

List<Map> inventariozonas = new ArrayList<Map>();
for(int i = 1; i < 20; i++){
  Map r3 = new HashMap();
  r3.put("puntoventa", "puntoventa"+i);
  inventariozonas.add(r3);
}

我一直在尝试通过JSTL在HTML中获取值,但是由于每个变量都有不同的名称,我不知道如何动态获取它们。

使用下面的代码重复相同的值。

<c:forEach items="${inventariozonas}" var="r">
  <tr>
    <td>${r.puntoventa1}</td>
  </tr>
</c:forEach>

是否有可能做这样的事情:

<c:forEach items="${inventariozonas}" var="r">
  <tr>
    <td>${r.puntoventa+index}</td>
  </tr>
</c:forEach>

1 个答案:

答案 0 :(得分:1)

您可以尝试这种方式:

 function getParamListForCustomGroupUpdate() {

var selected_execution_group = document.getElementById("select-execution-group-update").value;

$.ajax({
    method: "GET",
    dataType: "text",
    url: "getObjectList",
    data: {
        execution_group_name: selected_execution_group
    },
    success: function (result) {
        // result in array
        result = result.replace(/\\/g, "");
        referenceNode = document.getElementById("object_custom_name");
        //document.getElementById("object_custom_name").value = result;
        var myDiv = document.getElementById("myDiv");

        //Create and append select list
        var selectList = document.createElement("select");
        selectList.id = "mySelect";
        myDiv.appendChild(selectList);

        //Create and append the options
        for (var i = 0; i < result.length; i++) {
           var option = document.createElement("option");
           option.value = result[i];
           option.text = result[i];
           selectList.appendChild(option);
        }
        referenceNode.parentNode.insertBefore(myDiv, referenceNode.nextSibling);
    }

}
  1. 首先要获取索引,您可以使用varStatus,有关更多详细信息,请阅读此How to get a index value from foreach loop in jstl
  2. 要从地图中获取值,可以使用<c:forEach items="${inventariozonas}" var="r" varStatus="vs"> <tr> <td>${r['puntoventa' + vs.index]}</td> </tr> </c:forEach> ,有关更多详细信息,请阅读此Get value from hashmap based on key to JSTL

如果要遍历每个地图的元素,则建议采用这种方式:

r['key']
相关问题