2012-06-07 2 views
0

Я использую калитки 1.4.17 и IE8. Я столкнулся с проблемой, когда конструктор HomePage вызывается дважды. Я прочитал несколько других потоков, что это связано с тегом. Я позаботился об этом теге изображения, но все еще вижу проблему.Wicket Page конструктор, вызываемый дважды

Пожалуйста, предложите, как это можно решить.

Просьба представить свои мысли по этому вопросу. У меня есть параметр url, который мне нужно передать дальше от моей домашней страницы. Однако, как моя домашняя страница конструктор вызывается дважды, я не в состоянии прочитать параметр URL (второй вызов конструктора не имеет каких-либо параметров)

+0

Я столкнулся с этим тоже в Wicket 1.4, поэтому я переместил свой код на удаленный от конструктора страниц. Я не проверял, делает ли это последний стабильный выпуск Wicket, 1.5.7, так как я уже обошел эту проблему. –

+0

благодарит Ян за ваши входы. Мне нужно прочитать параметр url внутри конструктора главной страницы, я делаю это на первой итерации. Но опять же, во второй раз, когда он будет вызван, не будет доступного параметра URL. как я могу получить значение параметра во втором вызове? Я попытался использовать: RequestParameters rp = RequestCycle.get(). GetProcessor(). GetRequestCodingStrategy(). Decode (request); Но успеха пока нет. – user1521828

+1

, так что вы говорите, что запрос генерируется два раза или что страница создается два раза? Возможно, класс страницы создается экземпляром безстоящих со страницамипараметрами, а при рендеринге страницы происходит перенаправление, пытающееся получить состояние, пока оно не находится в сеансе pagemap, вторая страница создается с помощью конструктора по умолчанию. просто угадай ... попробуй выяснить, что здесь делает калитка, попробуйте разные рендерстраницы this.getRequestCycleSettings(). setRenderStrategy (RenderStrategy.ONE_PASS_RENDER); –

ответ

0

Похоже, что вы, возможно, уже пытались размещения в вашем WebApplication:

@Override 
protected void init() 
{ 
    super.init(); 
    ... 
    getRequestCycleSettings().setRenderStrategy(
    org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER); 
} 

Я рассматриваю ту же проблему, что и вы еще раз, так как теперь мне нужно, чтобы URL-адрес страницы был посещен через POST с обработкой, выполненной в одном и том же веб-запросе, не дожидаясь, когда пользователь нажмет кнопку «ОК» ", которую я использую для страницы проверки адреса электронной почты.

Обновление Пожалуйста, смотрите сообщения на форуме Калитки пользователей на Nabble «конструктор Калитка страницы вызывался дважды» в

http://apache-wicket.1842946.n4.nabble.com/Wicket-Page-constructor-getting-called-twice-tp4650225.html

для наконечника, чтобы помочь вашей отладки и расположение этой проблемы.

Я надеюсь, что это поможет.

Смежные вопросы