У меня есть метка, которая используется несколько раз на моей странице. Он отлично работает, пока я не попытаюсь обновить ярлык на ajax. Результат: обновляется только первая метка. Это известная проблема? Я не уверен, так как я не могу открыть страницу JIRA: https://issues.apache.org/jira/browse/wicket (Получите все пульсации). Я использую калитки версии 7.3.0Обновите ярлык, который использовался несколько раз
To reproduce this issue: 1. Add an label on your page (java part): private final Label label; .. label = new Label("yourLabel", "Your Text"); label.setOutputMarkupId(true); add(label); ... 1. Add your label multiple time (for e.g. 4 times) in your page (html part): ... <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> <span wicket:id="yourLabel"/> ... 2. Add event handler for e.g. the ajax event is UpdateEvent in your page (java part) ... @Override public void onEvent(IEventevent) { if (event.getPayload() instanceof UpdateEvent) { //update your label label.setDefaultModelObject("new Text"); target.add(label); } }
=> Обновляется только первый ярлык. У меня есть обходное решение для этого, добавив 4 разных экземпляра метки с одним и тем же текстовым контентом.
1. использовать модель, а не «ad-hoc» Этикетка с текстом. 2. Многократное использование одной и той же калитки: id странно, я удивлен, что он работает. 3. добавить к целевым эловым comoponets хотите обновить –
Re 2: он работает в конфигурации развертывания, где DebugSettings # componentUseCheck отключен. – svenmeier