如何从 SSJS 读取哈希图中的条目?

how to read an entry in a hashmap from SSJS?

我在 viewScope 中存储了一个哈希图,但我如何从中读取一个条目,例如来自 SSJS 中的计算文本?

var pm = viewScope.get("person");
var entry = pm.entrySet(); 
return entry.getValue("email")

entrySet() 是一种迭代地图的方法。例如:

Map<String, String> m = new HashMap<String, String>();
m.put("one", "1");
m.put("two", "2");

for (Map.Entry<String, String> entry : m.entrySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}

将打印:

one=1
two=2

如果你想从地图中读取特定的键,其实很简单:

<xp:text value="#{viewScope.person.email}" />

或者如果您需要动态(在这里您可以将用引号表示的文字值替换为您选择的另一个动态变量):

<xp:text value="#{viewScope.person['email']}" />