Pular para o conteúdo
17 de janeiro de 2013 / rafaelti

Renderizando o FeedbackPanel da Page do Wicket através de um Panel através do AJAX

Objetivo

Renderizar o FeedBackPanel de uma page onde panel é filho através do AJAX.

Plataforma

Java, Wicket 6

Conhecimento

Java, Wicket, Container/Servidor Java

Introdução

Ao componentizar é necessario atualizar informação que pode não estar dentro do componente, no caso de exemplo é o panel.

Solução

No caso é só pegar a page em que o panel está inserido como exemplo abaixo

public class FooSearchForm extends Panel {
	/*
	*Code
	*
	*
	*/
	public FooSearchForm(String id) {
		super(id);

		setGrid(searchField);

		final Form<Void> frmSearch = new Form<Void>("frmSearch");

		frmSearch.add(new AjaxButton("ajaxSubmit") {
			@Override
			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
				setGrid(searchField);

				info("FeedbackPanel updated");

				target.add(FooSearchForm.this);
				Layout l = (Layout)FooSearchForm.this.getPage();
				target.add(l.feedbackPanel);

			}

		}
		//More code!!!
	}
	//More code!!!
}

O Layout é a classe que toda page herda e que o FeedbackPanel fica, ao  chamar o target.add forçamos renderizar o mesmo.


Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.