我有以下情況:地圖表達式語言(EL)引用的對象一直沒有找到
Flex
類
public class Flex {
private String key;
private String val;
public Flex() {
}
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
public void setVal(String val) {
this.val = val;
}
public String getVal() {
return val;
}
FlexManager
類
public class FlexManager {
private Map<String, Flex> keyValue = new HashMap<String, Flex>();
public FlexManager() {
populateFlexFieldMap();
}
private void populateFlexFieldMap() {
if (keyValue.isEmpty()) {
List<Flex> fieldds = loadKVFromFile();
for (Flexfield : fieldds) {
keyValue.put(field.getKey(), field);
}
}
}
public void setKeyValue(Map<String, FlexField> keyValue) {
this.keyValue = keyValue;
}
public Map<String, Flex> getKeyValue() {
return keyValue;
}
}
與managedBean輸入已準備就緒。
如何我可以通過getKeyValue()
法EL得到Flex
類瓦爾價值?
我的做法是這樣的:${managedBeanName.keyValue['key'].val}
但我在IDE得到這樣的警告
參考
${managedBeanName.keyValue['key'].val}
沒有找到
是。但是,如果刪除.val我不會再收到警告。這意味着managedBean是正確的,** $ {managedBeanName.keyValue ['key']} **也是。但不是** $ {managedBeanName.keyValue ['key']。val} ** –
這不是一個通用的Java API /編譯器/語法相關的問題,所以請不要污染'[java]'標籤而不提問題關於Java語言。這也不是一個普通的Java EE問題,而是一個JSF/EL特定的問題,所以請不要污染'[java-ee]'標籤,並帶有關於JSF/EL的特定問題。用戶通過標籤瀏覽,並期望看到真正與該標籤相關的問題。 – BalusC
@BalusC是Zoro先生 –