版本:
Aapche MyFaces 2.1.14
富人脸 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">
对于每个选项,它调用FormStore.get方法,并带有key = additionalValues
是否可以从类访问附加值映射FormStore.java
?
请帮忙。
这应该有效
<h:inputText id="phone" value="#{formStore.getAdditionalValues()['phone']}" size="12" maxlength="20" required="true">