Как динамически изменять значение карты в JSTL - PullRequest
1 голос
/ 30 мая 2020

Одно из наших приложений, созданное с использованием Spring MVC + JSP. См. Ниже JSP.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.HashMap"%>
<%
    ArrayList<HashMap<String, String>> listOfMap = new ArrayList<HashMap<String, String>>();

    HashMap<String, String> map;

    for (int i = 0; i < 3; i++) {
        map = new HashMap<String, String>();

        map.put("key1", "value1" + i);
        map.put("key2", "value2" + i);

        listOfMap.add(map);
    }

    request.setAttribute("listOfMap", listOfMap);
%>
<html>
<body>
    <c:forEach items="${listOfMap}" var="maps">
        <c:forEach items="${maps}" var="mapItem">
                ${mapItem.key} ${mapItem.value} <br />
        </c:forEach>
    </c:forEach>
</body>
</html>

Как вы можете видеть из этого jsp, я пытаюсь перебрать карту и отобразить ключ и значение на странице.

Но что должно быть сделано на тот случай, если я хочу изменить значение mapItem.key и mapItem.value во время итерации внутри l oop.

Итак, как показано ниже.

<c:forEach items="${listOfMap}" var="maps">
    <c:forEach items="${maps}" var="mapItem">
            <!--Basically i would write a code (in scriplet) to prevent cross site scripting here -->
            ${mapItem.key} ${mapItem.value} <br />
    </c:forEach>
</c:forEach>
...