Redirecionamento de wicket: como passar parâmetros e manter os URLs "bonitos"?
Considere uma página da Web Wicket que redireciona para outra página (com base em alguma lógica omitida aqui):
public class SomePage extends WebPage {
public SomePage(PageParameters parameters) {
setResponsePage(AnotherPage.class);
setRedirect(true);
}
}
Preciso passar os PageParameters para essa outra página, e esta parece ser a maneira de fazer isso:
setResponsePage(new AnotherPage(parameters));
No entanto, ao criar um novo objeto de página como esse, acabo em um URL como/?wicket:interface=:1::::
em vez do limpo/another
. AnotherPage é definido como:
@MountPath(path = "another")
public class AnotherPage extends WebPage {
// ...
}
(Onde MountPath é do pacote org.wicketstuff.annotation.mount.)
Então, minhas perguntas são:
Alguma outra maneira de transmitir os parâmetros?Alguma maneira de manter o URL bonito? A limitação acima é específica do Wicket Stuff, em vez do núcleo do Wicket?AtualizarHeh, acontecequalquer das abordagens sugeridas funcionam, eAlém disso o que eu tentei originalmente -setResponsePage(new AnotherPage(parameters))
- desde que eu removasetRedirect(true)
. O URL permanece o mesmo (caminho para SomePage) nesse caso, eEu acabei de perceber Eu realmente deveria ter mencionado desde o início que está tudo bem se isso acontecer (desde que seja "bonito" e os parâmetros sejam passados)!
A página ("SomePage") envia solicitações, com base em parâmetros de consulta, para algumas páginas de resultados possíveis com aparência diferente, mas que são acessadas pelo mesmo URL. Tentei formular a pergunta o mais genérica e minimalista possível, mas isso deu errado quando deixei de fora informações relevantes. : - /
Desculpe se isso acabou estranho, claro ou inútil para os outros. Se você tiver uma sugestão sobre como renomeá-lo, fique à vontade para comentar.