html: вызовы опций перед установкой -> пустой указатель - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть следующее:

    <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 голосов
/ 30 ноября 2010

Используйте LazyMap или обновите до Struts 2/3, чтобы кто-то действительно мог помочь вам.

0 голосов
/ 11 ноября 2010

Как вы определяете порядок, в котором происходит доступ по отношению к срабатыванию действия? Поскольку setMyMap просто хранит ссылку, одна возможность состоит в том, что вызывающая сторона работает в другом потоке и модифицирует карту после ее установки.

...