Java 访问EL中的嵌套对象

Java 访问EL中的嵌套对象,java,spring,jsp,spring-mvc,el,Java,Spring,Jsp,Spring Mvc,El,我有这个 Class Output { HashMap<String,POC> hMap; //Other stuff } Class POC { String var1; String var2; String var3; //Other stuff } 基本上,对象的哈希映射… 我使用的是SpringMVC框架,上面两个类是我的模型对象。我的服务类创建一个输出对象,并将其传递给控制器 控制器将该输出对象设置为名为output 在

我有这个

Class Output {
    HashMap<String,POC> hMap;
    //Other stuff
}
Class POC {
    String var1;
    String var2;
    String var3;
    //Other stuff
}
基本上,对象的哈希映射…

我使用的是SpringMVC框架,上面两个类是我的模型对象。我的服务类创建一个输出对象,并将其传递给控制器

控制器将该输出对象设置为名为
output

在output.jsp页面中,我想显示输出对象中hashmap中存在多少项。例如,要显示item1中存储的项(作为key1存储在HashMap中),这是我尝试过的,运气不好:

${output.hMap.key1.var1)
${output.hMap['key1'].var1)
这些都不是我想要的。请任何人帮我,或者至少建议一个替代方案。一定要分享你的想法


解决方案:
我现在觉得自己很愚蠢。上述两项工作。我无法让它们工作的原因是,在将POC添加到hashMap之前,我没有使用任何值初始化POC。

您需要为要在EL中使用的字段提供访问器

public class Output {
    HashMap<String,POC> hMap;


    public HashMap<String, POC> getHMap() {
        return hMap;
    }

    public void setHMap(HashMap<String, POC> hMap) {
        this.hMap = hMap;
    }
}
公共类输出{
HashMap-hMap;
公共HashMap getHMap(){
返回hMap;
}
公共void setHMap(HashMap hMap){
this.hMap=hMap;
}
}

来自
POC
类的属性也是如此。

您需要为要在EL中使用的字段提供访问器

public class Output {
    HashMap<String,POC> hMap;


    public HashMap<String, POC> getHMap() {
        return hMap;
    }

    public void setHMap(HashMap<String, POC> hMap) {
        this.hMap = hMap;
    }
}
公共类输出{
HashMap-hMap;
公共HashMap getHMap(){
返回hMap;
}
公共void setHMap(HashMap hMap){
this.hMap=hMap;
}
}

POC
类的属性也是如此。

解决方案:我现在觉得自己很愚蠢。上述两项工作。我无法让它们工作的原因是,在将POC添加到hashMap之前,我没有使用任何值初始化POC。

解决方案:我现在觉得自己很愚蠢。上述两项工作。我无法让它们工作的原因是,在将POC添加到hashMap之前,我没有使用任何值初始化POC。

什么是
没有一个按照我希望的方式工作?如何将对象添加到您的请求/会话/servlet上下文属性中?我正在使用
模型添加它。addAttribute(…)
我找到了解决方案,并在问题本身中对其进行了更新。
它们都不是我希望它以的方式工作的意思是什么?如何将对象添加到请求/会话/servlet上下文属性中?我正在使用
model.addAttribute(…)
添加它,我找到了解决方案,并在问题本身中更新它。