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