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

标签 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>

最佳答案

你可以这样试试:

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

如果你想遍历每个 map 的元素,那么会建议这样:

<c:forEach items="${inventariozonas}" var="myMap">
  <c:forEach items="${myMap}" var="entry">
     <tr>
       <td>${entry.value}</td>
     </tr>
  </c:forEach>
</c:forEach>

关于javascript - 是否可以像在 Java 上那样从 JSTL 数组中更改获取变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53994875/

相关文章:

javascript - 如何为 Google Chrome 扩展程序动态更改 popup.html 的大小

java - 音频输入流不工作

javascript - Angularjs按价格搜索产品(从价格到价格)

JavaScript 事件队列

javascript - 如何在单个 js 文件中包含 jQuery 库而不干扰现有库

java - 内联图像显示为附件 : JavaMail

java - IntelliJ 调试器数据 View

java - 如何在java中将简单的JSONObject转换为HashMap键,值对

javax.servlet.ServletException : Servlet. destroy() servlet jsp 抛出异常

java - JSP 页面显示集合日期