Я бы использовал AjaxFallbackLink.
Чтобы панель появилась, вы должны переопределить метод onClick. как то так
WebMarkupContainer hiddenPanel = // create your panel
hiddenPanel.setOutMarkupPlaceHolderTag(true);
hiddenPanel.setVisible(false)
...
AjaxFallbackLink myLink = new AjaxFallbackLink ("myLink") {
public void onClick(AjaxRequestTarget target) {
hiddenPanel.setVisible(true);
target.addComponent(hiddenPanel);
}
};
Это основа этого. Когда вы нажимаете на ссылку, вызывается ваш метод onClick, и hiddenPanel отображается на веб-странице.
Код отредактирован после комментариев. Спасибо Мартин.