Java EL获取HashMap中的值:正确使用EL表达式
在Java Web开发中,我们经常使用EL表达式来获取数据。当数据存储在HashMap中时,该如何使用EL表达式呢?
假设我们有一个HashMap,其中存储了一个名为'local.role'的键值对,其值为'admin'。我们想要使用EL表达式获取这个值。
.Map map = new HashMap();
map.put('local.role', 'admin');
request.setAttribute('login', map);
以下哪个选项可以正确地使用EL取得map中的值()
A. ${map.local.role}
B. ${login.local.role}
C. ${map['local.role']}
D. ${login['local.role']}
正确答案:B. ${login.local.role}
解析:
- 我们将HashMap存储在了request的'login'属性中,因此需要使用'login'来访问它。
- 在EL表达式中,可以使用点号'.'来访问Map的键值对。
错误选项分析:
- A.
${map.local.role}:错误,因为'map'并没有直接存储在request中,需要使用'login'来访问。 - C.
${map['local.role']}:错误,EL表达式中使用中括号'[]'来访问数组元素,而不是Map的键值对。 - D.
${login['local.role']}:错误,使用中括号访问Map键值对的语法不正确。
结论:
正确的EL表达式应该是${login.local.role},它能够正确地访问存储在HashMap中的'local.role'的值。
原文地址: https://www.cveoy.top/t/topic/o0s8 著作权归作者所有。请勿转载和采集!