可以在jsf中使用[]获取hashMap的值吗?

use*_*624 2 jsf

在我的jsf文件中我hava:

<f:facet > #{main.res['CORE_COMMON_LABEL_ACTIONS'] </f:facet>
Run Code Online (Sandbox Code Playgroud)

在后面豆我hava

 public Map<String, String> getRes() {
        return resourceBean.getResourcesMap(currentLocale);
    }
Run Code Online (Sandbox Code Playgroud)

那个main.res ['CORE_COMMON_LABLE_ACTION']引用getRes()并调用它.

什么是[]?可以使用[]而不是get()来获取hashMap的值?

小智 5

是.你可以用[]获得Map值.尝试这样的事情:

private Map<String, Object> objects = new HashMap<String, Object>();

public void add(String key, Object value) {
    objects.put(key, value);

}

public Map<String, Object> getObjectsMap() {
    return objects;
}
Run Code Online (Sandbox Code Playgroud)

例如,我们有一个条目:

 add("hi" , "test");
Run Code Online (Sandbox Code Playgroud)

那么你可以得到这样的价值:

#{yourBean.objectsMap['hi']}
Run Code Online (Sandbox Code Playgroud)

它会起作用;