Рассмотрим веб-страницу Wicket, которая перенаправляет на другую страницу (основываясь на некоторой логике, опущенной здесь):
public class SomePage extends WebPage {
public SomePage(PageParameters parameters) {
setResponsePage(AnotherPage.class);
setRedirect(true);
}
}
Мне нужно передать параметры PageParameters на эту другую страницу, и, похоже, именно такчтобы сделать это:
setResponsePage(new AnotherPage(parameters));
Однако, при создании нового объекта Page, подобного этому, я получаю URL-адрес, такой как /?wicket:interface=:1::::
вместо чистого /another
.Другая страница определена как:
@MountPath(path = "another")
public class AnotherPage extends WebPage {
// ...
}
(Где MountPath из пакета org.wicketstuff.annotation.mount.)
Итак, мои вопросы:
- Какой-то другой способ передачи параметров?
- Какой-нибудь способ сохранить красивый URL?Вышеупомянутое ограничение Wicket Stuff вместо основного Wicket?
Обновление
Хех, получается любой из предложенных подходов работает, и также , что я изначально пробовал - setResponsePage(new AnotherPage(parameters))
-пока я удаляю setRedirect(true)
.В этом случае URL остается прежним (путь к SomePage), и Я только что понял Я действительно должен был с самого начала упомянуть, что все в порядке, если это так (пока это "красиво" ипараметры переданы)!
Страница («SomePage») отправляет запросы на основе параметров запроса на пару возможных страниц результатов, которые выглядят по-разному, но к которым обращаются по одному и тому же URL.Я пытался сформулировать вопрос как можно более универсальным и минималистским, но это пошло не так, как я пропустил соответствующую информацию.: - /
Извините, если это оказалось странным, неясным или бесполезным для других.Если у вас есть предложение о его переименовании, не стесняйтесь комментировать.