Каждый раз, когда я пытаюсь реализовать модальное окно, я получаю:
java.lang.ClassNotFoundException: org.apache.wicket.request.resource.CompressedResourceReference
Ни в одной из моих библиотек нет этого элемента. Моя зависимость:
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>1.5.3</version>
</dependency>
<!-- DatePicker -->
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-datetime</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>1.5.3</version>
</dependency>
€ Вот как я реализовал свое модальное окно:
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.util.time.Duration;
public class ModalPanel1 extends WebPage
{
public ModalPanel1(String id)
{
final ModalWindow modalWindow = new ModalWindow("modal");
modalWindow.setTitle("Popup");
modalWindow.setInitialWidth(400);
modalWindow.setInitialHeight(400);
modalWindow.setResizable(true);
modalWindow.setContent(new AbstractModalClosePanel(modalWindow)
{
public void onClick(AjaxRequestTarget target)
{
modalWindow.close(target);
}
});
add(modalWindow);
add(new AjaxLink<Void>("open")
{
@Override
public void onClick(AjaxRequestTarget target)
{
modalWindow.show(target);
}
});
add(new AbstractAjaxTimerBehavior(Duration.seconds(2))
{
@Override
protected void onTimer(AjaxRequestTarget target)
{
modalWindow.show(target);
stop();
}
});
}
}
а также
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.panel.Panel;
public abstract class AbstractModalClosePanel extends Panel
{
public AbstractModalClosePanel(ModalWindow modalWindow)
{
super(modalWindow.getContentId());
}
Старого импорта нет.
Полная трассировка стека
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>1.5.3</version>
</dependency>
<!-- DatePicker -->
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-datetime</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>1.5.3</version>
</dependency>
был удален в Wicket 1.5 вместе с другими элементами сжатия.