-1

我有一个由以下定义的哈希图:

Map<String, Person> map = new HashMap<String, Person>();

它被一些数据填充。这是在 EJB bean 中。

在 JSF 中,我想以某种方式访问​​ Person 类的属性:

#{bean.map['key'].username}

但是 JSF 不允许我这样做。

例如,如果我用字符串替换 Person ,它就可以工作。

有什么帮助吗?

4

2 回答 2

-1

一个解决方案可能是编写您自己的自定义 EL 函数:

public static Object getMapValue(Map map, Object key) {
    return map.get(key);
}

然后你可以像这样访问它:

#{fn:getMapValue(bean.map, 'key').username}

如果您不熟悉自定义 el 函数,请查看:Facelets EL 函数可以节省您的时间

于 2012-07-26T07:47:05.423 回答
-1

在Bean中写一个函数

public Person getMapValue(String key)
{
        return map.get(key);
}

然后你可以像这样访问它:

#{bean.getMapValue('key').username}
于 2017-02-16T17:04:53.463 回答