Улучшение в генераторе HTML wicket, возможно ли удалить wicketpath? - PullRequest
0 голосов
/ 22 марта 2011

У меня есть список с большим количеством элементов (5000), проблема в том, что при 5000 элементах калитка отвечает 6 МБ, и для ее генерации требуется 6 секунд, и еще 5-6 секунд необходимы браузеру для отображения этой информации.

Элемент списка выглядит следующим образом:

<li wicketpath="typeFacetPanel_modalwindow_content_filterTable_filterRow_2">
  <a href="?wicket:interface=:3:typeFacetPanel:modalwindow:content:filterTable:filterRow:2:filterLink::ILinkListener::" wicketpath="typeFacetPanel_modalwindow_content_filterTable_filterRow_2_filterLink">
    <span wicketpath="typeFacetPanel_modalwindow_content_filterTable_filterRow_2_filterLink_filterName">
      JPEG (1862)
    </span>
  </a>
</li>

Я стремлюсь улучшить время отклика (12 с = 6 + 6), если я заменю тег на простой текст, я получу 1 МБ, а время отклика 4 с (2,5 + 1,5), поэтому я предполагаю, что получу улучшения если мне удастся удалить атрибут wicketpath или хотя бы заменить его на более короткий.

Любые другие предложения приветствуются.

Ответы [ 3 ]

5 голосов
/ 22 марта 2011

Запустите ваше приложение в режиме DEPLOYMENT , если это еще не сделано. Есть элемент конфигурации для удаления пути Wicket из вашей разметки, чтобы он не генерировался. Посмотрите ответ выше, чтобы увидеть, как он выключен. В обычном режиме этот параметр не настроен на выполнение каких-либо действий.

А для улучшения времени генерации нам нужно увидеть некоторый Java-код, прежде чем мы поймем, почему рендеринг занимает 6 секунд.

2 голосов
/ 22 марта 2011

а) Вы можете отключить калитку:

В своем классе веб-приложений сделайте следующее:

@Override
protected void init(){
    super.init();
    getDebugSettings().setOutputComponentPath(false);
}

На самом деле, по умолчанию он отключен, так что вы, очевидно, где-то его включаете.

б) с какой стати вы отображаете 5000 предметов чего-либо? Вы когда-нибудь слышали о пейджинге? Как насчет использования DataView вместо?

0 голосов
/ 22 марта 2011

То, что вы хотите, это ленивый груз, например: http://www.appelsiini.net/projects/lazyload

...