html:选项调用get set - >空指针

时间:2010-11-10 22:17:57

标签: java properties struts struts-1

我有以下内容:

    <html:select property="myObject.value">
        <html:options property='myMap(someKey)'/>
    </html:select>

在操作中设置map(someKey)的位置。我也以以下形式创建了这些方法:

public void setMyMap( final Map<String, Collection<String>> map )
{
    myMap = map;
}

public Map<String, Collection<String>> getMyMap()
{
    return myMap;
}

这几乎似乎有效,但偶尔会在适当的myMap(someKey)被点击之前访问Action,从而导致空指针。我在做什么错了,在这里?

修改
如果我使用LazyMap解决此问题,我会避免使用空指针,直到操作设置表单为止。不过,我仍然想知道为什么会这样。

2 个答案:

答案 0 :(得分:0)

您如何确定相对于Action触发的访问顺序?由于setMyMap只存储引用,因此一种可能性是调用者在不同的线程上运行并在设置后修改映射。

答案 1 :(得分:0)

使用LazyMap或升级到Struts 2/3,以便有人可以帮助您。