Перенаправление Wicket: как передавать параметры и сохранять URL-адреса «красивыми»?

Рассмотрим Wicket WebPage, который перенаправляет на другую страницу (на основе некоторой логики, опущенной здесь):

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 . AnotherPage определяется как:

@MountPath(path = "another")
public class AnotherPage extends WebPage {
    // ...
}

(где MountPath из пакета org.wicketstuff.annotation.mount.)

Итак, мои вопросы:

  • Другой способ передать параметры?
  • Какой-то способ сохранить URL красивым? Является ли указанное выше ограничением Wicket Stuff, а не основным Wicket?

Обновление

Хех, оказывается, любой из предложенных подходов работает, а также то, что я пробовал изначально - setResponsePage (new AnotherPage (параметры)) - пока я удаляю setRedirect (true) . URL-адрес остается прежним (путь к SomePage) в этом случае, и Я только что понял Мне действительно следовало упомянуть с самого начала, что ничего страшного, если это так (если это "красиво" и параметры переданы)!

Страница («SomePage») отправляет запросы на основе параметров запроса к паре возможных страниц результатов, которые выглядят по-разному, но доступны по одному и тому же URL-адресу. Я попытался сформулировать вопрос как можно более обобщенно и минималистично, но это пошло наперекосяк, поскольку я упустил соответствующую информацию. : - /

Извините, если это закончилось странно, непонятно или бесполезно для других. Если у вас есть предложение о его переименовании, не стесняйтесь комментировать.

5
задан Jonik 15 November 2010 в 17:20
поделиться