在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'的值。

Java EL获取HashMap中的值:正确使用EL表达式

原文地址: https://www.cveoy.top/t/topic/o0s8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录