【发布时间】: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