如何使用jsp中的键从java映射中获取值,但键是javascript值

How to get value from a java map using key in a jsp, but key is a javascript value

本文关键字:javascript 获取 java jsp 何使用 映射      更新时间:2023-09-26

我有一个jsp页面,在这个页面中,我从request属性中获得了一个哈希图,我想提取特定键的值。该密钥在jsp上可用。如何使用此键从映射中提取arct值?

我通过将java映射转换为java脚本关联数组来解决这个问题,然后我可以从该数组中获取值。我想分享代码:

<%
Map<String,String> currencyCodeMap = (Map<String,String>)application.getAttribute("currPrecisionCodeMap"); 
%>
<script language="javascript">

        var map = new Array();
        <%
        for (Map.Entry<String, String> entry : currencyCodeMap.entrySet()) {%>
                map['<%=entry.getKey()%>'] = '<%=entry.getValue()%>';
        <%}
        %>
var currencyCode = document.AccForm.currencyname.options[document.AccForm.currencyname.selectedIndex].text;
   alert(map[currencyCode ]);// gives value
</script>

上面的代码运行良好,但有人能提供更好的解决方案吗??

如果我理解你的问题,你可以使用在JSP中初始化你的hashmap,而使用JSTL u可以迭代它。

<jsp:useBean id="hm" type="java.util.Hashtable<java.lang.Long, java.util.ArrayList<java.lang.String>>" scope="request"/>
<c:forEach items="${hm[key]}" var="item">
    <c:out value="${item.value}" />
</c:forEach>

此外,你可以做下一步:

pageContext.setAttribute("key", your_key);

而不是在JSTL中使用它:

${your_key}