В калитке 1.5 используются ChildFirstHeaderRenderStrategy и ParentFirstHeaderRenderStrategy.
Есть ли кто-нибудь, кто может объяснить эти стратегии рендеринга в деталях и привести пример их использования при кодировании?
Я не использовал их, но все равно могу немного объяснить. Они возникли из ошибки WICKET-2693 , где отмечается, что в Wicket 1.4 рендеринг заголовков был «обратным», т. Е. Дочерние компоненты, вносящие вклад в заголовок, добавляли свои части после родительских компонентов, затрудняя для страницы переопределение вещей из содержащихся компонентов. Это поведение, данное ParentFirstHeaderRenderStrategy
. ChildFirstHeaderRenderStrategy
- обратное: вклады от внутренних компонентов отображаются раньше, чем вклады их родителей, и это значение по умолчанию в калитке 1.5. См. Выше отчет об ошибке для более подробной информации и для некоторых интересных дебатов между командой разработчиков калитки.
Я не знаю, где добавить эти стратегии рендеринга в мой код.
На самом деле вы не можете сделать это в коде. Они намеренно затруднили изменение и применили его ко всему приложению. Он управляется системным свойством.
Вы можете сначала переключить его на родительский, указав свойство в команде запуска сервера:
-DWicket_HeaderRenderStrategy=org.apache.wicket.markup.renderStrategy.ParentFirstHeaderRenderStrategy
Есть также проблемы WICKET-4235 и WICKET-4000 , связанные с этим, что они не работают должным образом с вкладами из <header>
разделов фрагментов HTML.