-1

私は次のように定義されたハッシュマップを持っています:

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

そしてそれはいくつかのデータで満たされています。これは EJB Bean にあります。

JSF では、クラス Person のプロパティにアクセスしたいと思います。

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

しかし、JSF ではこれを行うことはできません。

たとえば、 Person を String に置き換えると、機能します。

何か助けはありますか?

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 に答える