【问题标题】:Accessing values in Map through EL in JSF2在 JSF2 中通过 EL 访问 Map 中的值
【发布时间】:2015-02-14 21:54:02
【问题描述】:

版本:

Aapche MyFaces 2.1.14

RichFaces 4.3.5

问题:

我有一个实现如下地图接口的类:

public class FormStore implements Map {


    private Map values; 


    public Object get(Object key) {

        return values.get(key);
    }

    public Object put(Object key, Object value) {

        return values.put(key, value);
    }

}

我正在使用此映射将所有提交的表单值存储在我的应用程序中,并在 facelet 中访问,如下面的 facelet 代码所示:

 <h:inputText id="phone" value="#{formStore['phone']}" size="12" maxlength="20" required="true">

formStore 是上面的 java 类。

现在我在上面的 java 类中添加了另一个 Map,如下所示,它有一些特殊用途。

public class FormStore implements Map {


private Map values; 
private Map additionalValues;


public Object get(Object key) {

    return values.get(key);
}

public Object put(Object key, Object value) {

    return values.put(key, value);
}
//getter and setter method for additionalValues also added 

}

问题是我无法从 EL 访问这张新地图。我尝试了以下选项:

1)<h:inputText id="phone" value="#{formStore.additionalValues['phone']}" size="12" maxlength="20" required="true">
2)<h:inputText id="phone" value="#{formStore.[additionalValues]['phone']}" size="12" maxlength="20" required="true">
3)<h:inputText id="phone" value="#{formStore[additionalValues]['phone']}" size="12" maxlength="20" required="true">

对于每一个选项,它都会使用key = additionalValues 调用FormStore.get 方法

是否无法从FormStore.java 类访问附加值映射?

请帮忙。

【问题讨论】:

    标签: dictionary jsf-2 el


    【解决方案1】:

    这应该可以工作

    <h:inputText id="phone" value="#{formStore.getAdditionalValues()['phone']}" size="12" maxlength="20" required="true">
    

    【讨论】:

      猜你喜欢
      • 2010-10-29
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      相关资源
      最近更新 更多