簡體   English   中英

如何使用jsp中的鍵從Java映射中獲取值,但是鍵是javascript值

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

我有一個jsp頁面,在此頁面中,我從請求屬性獲取哈希映射,並且我想提取特定鍵的值。 該鍵在jsp上可用。 如何使用此鍵從地圖上提取值?

我通過將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中初始化哈希圖,而不是使用JSTL可以對其進行迭代。

<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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM