在EL中使用动态变量名称

use*_*445 4 jsp el

在EL中,我想访问该值

${settings_123456.settingsMap[test].value}
Run Code Online (Sandbox Code Playgroud)

问题settings_123456是可变的.所以我将它存储在${setting}变量中并尝试过${setting.settingsMap[test].value},但它无效

编辑:

Public class Setting {
  Map<String, myClass> settingsMap;
}
Public class myClass {
   private String myTest;
}
Run Code Online (Sandbox Code Playgroud)

模型是用Setting对象设置的,我需要myTest使用jstl在我的jsp中获取变量的值.另请注意,key settingsMap也是动态的,这就是为什么你可以test在JSP代码中看到变量的原因.

Bal*_*usC 6

您可以通过显式指定范围映射来访问它.

${requestScope[settings_123456].settingsMap[test].value}
Run Code Online (Sandbox Code Playgroud)

当它的会话或应用程序作用域时使用${sessionScope}${applicationScope}代替.