在EL中,我想访问值
${settings_123456.settingsMap[test].value}
问题是settings_123456
是可变的。因此,我将其存储在${setting}
变量中并尝试了${setting.settingsMap[test].value}
,但它无法正常工作
编辑:
Public class Setting {
Map<String, myClass> settingsMap;
}
Public class myClass {
private String myTest;
}
使用Setting
对象设置模型,我需要使用jstl在jsp中获取myTest
变量的值。另请注意,settingsMap
的键也是动态的,这就是您可以在JSP代码中看到test
变量的原因。
答案 0 :(得分:6)
您可以通过明确指定范围图来访问它。
${requestScope[settings_123456].settingsMap[test].value}
当会话或应用程序作用域时,请使用${sessionScope}
或${applicationScope}
。
答案 1 :(得分:0)
你必须使settingsMap
成为一个属性,即为它声明一个setter和一个getter:
Public class Setting {
Map<String, myClass> settingsMap;
public Map<String, myClass> getSettingsMap() {
return this.settingsMap;
}
public void setSettingsMap(Map<String, myClass> settingsMap) {
this.settingsMap = settingsMap;
}
}