Я работаю с приложением, где мне нужно добавить наборы дочерних панелей к другим содержащим родительским панелям, которые являются частью страницы.Элементы компоновки калитки, которые добавляются через ретранслятор
Может быть от 1 до 3 родительских панелей за раз, а между родителями может быть в общей сложности 7 дочерних панелей.
У меня есть место, где все добавляется должным образом, но при попытке стилизовать эти панели, добавленные через ретранслятор калитки, ни один из моих обычных методов не работает.
Я попытался переопределить метод populateItem в ListView, как показано на: https://cwiki.apache.org/WICKET/listview-and-other-repeaters.html и https://cwiki.apache.org/WICKET/page-with-dynamic-components.html
add(new ListView<ParentPanel>("parentPanels", panels) {
@Override
protected void populateItem(ListItem<ParentPanel> item) {
ParentPanel temp = (ParentPanel) item.getModelObject();
temp.add(new AttributeAppender("class", new Model<String>("panelClass"), ""));
item.add(temp);
}
});
... или в разметке:
<wicket:container wicket:id="listOfPanels">
<wicket:panel wicket:id="panelClass"/>
</wicket:container>
... или даже добавляя модификатор атрибута в конструктор добавляемой панели.
Все это, кажется, игнорируется. Я что-то пропустил? Если бы мне не приходилось подсчитывать количество и тип панелей, чтобы добавить это, это не проблема, но что делает использование повторителя, что удаляет стиль?
Вы даже используете объект html, который отображается? (не уверен, что это даже допустимо?) следует игнорировать в последнем выходном HTML-файле, поэтому не имеет значения, измените ли вы его класс. Вы видите какие-либо изменения, если повторяющийся элемент является «реальным html» (div, ...)? –
Не можете ли вы создать html для панели внутри панелей? Или вы пытаетесь применять разные классы в зависимости от положения ретранслятора? – bert
Да, я применяю стили на основе логики, которую я использую при обработке элементов из ретранслятора. Корень моей проблемы состоял в том, что я определенно использовал неправильные теги. Прекрасно работает. =/ – AllSeeingSeer