1
我有一個jsp頁面,在此頁面中,我從請求屬性中獲取哈希映射,並且我想提取特定鍵的值。關鍵是在jsp上可用。我怎樣才能使用這個鍵從地圖中提取值?如何使用jsp中的鍵獲取java map中的值,但key是javascript值
我通過將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>
上面的代碼工作正常,但可以有人提供更好的解決方案?
爲什麼你就不能從 「currencyCodeMap」 訪問JSP中的屬性側?將JSP和JavaScript混合在一起是非常麻煩的; JSP完全能夠從Map實例中提取值。 – Pointy
我希望你知道這一點:http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files –
因爲你已經在使用scriptlet,那你爲什麼不重複映射並在scriptlet本身中獲取所需的值。 –