访问EL中的嵌套对象

时间:2014-01-16 13:49:40

标签: java spring jsp spring-mvc el

我有

Class Output {
    HashMap<String,POC> hMap;
    //Other stuff
}

以及

Class POC {
    String var1;
    String var2;
    String var3;
    //Other stuff
}

基本上是对象的哈希映射......

我使用的是Spring MVC框架,上面的两个类是我的模型对象。我的服务类创建了一个输出对象,它传递给控制器​​。

在将输出对象设置为名为output

的模型属性后,控制器将该输出对象返回到output.jsp

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

${output.hMap.key1.var1)
${output.hMap['key1'].var1)

它没有按照我想要的方式工作。请任何人帮助我,或者至少建议一个替代方案。分享你的想法

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

2 个答案:

答案 0 :(得分:4)

您需要为要在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;
    }
}

同样适用于POC类的属性。

答案 1 :(得分:0)

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