Wicket - позиция тега div изменяется при применении setOutputMarkupPlaceholderTag true - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть тег div на моей html-странице, который выступает в качестве заполнителя для панели.

В моем коде Java всякий раз, когда я применяю на панели setOutputMarkupPlaceholderTag (true), положение тега div вHTML автоматически меняется на верхний левый, тогда как исходная позиция моего div была справа внизу, как я установил в моей таблице стилей CSS.

Что мне делать?

1 Ответ

0 голосов
/ 22 декабря 2011

Почему вы хотите установить флаг в true, вызвав Component.setOutputMarkupPlaceholderTag (true)?В конце концов, кажется, что установка флага изменяет информацию о стиле тега вмещающего блока.

Можете ли вы предоставить фактически созданный HTML-код?Нажмите в вашем браузере, чтобы увидеть HTML-исходный код.Возможно, это будет выглядеть как

<div id="something" class="xy">
    ...
</div>

Как я вижу, у вас есть три варианта после проверки созданного тега div: a) Не устанавливайте флаг Component.setOutputMarkupPlaceholderTag (true).Вы можете контролировать видимость реализации вашей панели с помощью переопределения

@Override
protected void onConfigure() {
    super.onConfigure();

    boolean visible = ...; // evaluate the state
    setVisible(visible);
}

Проверьте http://wicket.apache.org/apidocs/1.5/ для получения дополнительной информации о классе Component.(Панель является компонентом.) b) Измените информацию о стиле, созданную Wicket, следующим образом:

panel.add(new AttributeModifier("class", "styledPanel");

или более консервативно:

panel.add(new AttributeAppender("class", "styledPanel");

Возможно, вам придется обновить стиль"information.

c) Обновите таблицу стилей CSS, отразив информацию о стиле, созданную Wicket для этого тега div.

На самом деле, комбинация b) и c)приведет вас к цели.Вы должны проверить полученный HTML-код вашей панели в браузере.Что касается меня, я бы предпочел решение а).

...