#java #navigation #anchor #wicket
#java #навигация #привязка #wicket
Вопрос:
Вот моя ситуация: пользователь выбирает раздел (например, из выпадающего списка), такой как «Раздел1», «Раздел2» или «Раздел3». Затем он нажимает кнопку OK (или какую-либо ссылку).
Что мне нужно, чтобы произошло: после того, как он нажмет на эту кнопку / ссылку, он будет перенаправлен в выбранный раздел, например www.homepage.com/docs#section2
.
До сих пор мне не удалось обработать форму из Link
onClick
метода clickLink
, и я не смог вызвать некоторые Link
включения Button
из onSubmit()
метода,.
Я бы предпочел не использовать AJAX или JavaScript. Как я могу это сделать?
Комментарии:
1. Пожалуйста, покажите какой-нибудь код, чтобы нам было с чем работать.
2. пока нет кода (не относящегося к делу) Я прошу идеи, как решить эту проблему. (На мой взгляд, это распространенная проблема, и кому-то приходилось решать ее раньше)
Ответ №1:
Это потому, что ссылка не отправляет форму. Это просто действует как ссылка на что-то. Чтобы получить доступ к вашим formdata, вам нужно сначала отправить форму. Попробуйте использовать SubmitLink вместо ссылки и вызвать
getRequestCycle().setRequestTarget
(new RedirectRequestTarget("www.homepage.com/docs#section2"));
из функции onSubmit ссылки на отправку.
Судя по Javadoc, это должно сработать, но я не могу протестировать это прямо сейчас.
Целевой запрос, который отправит URL-адрес перенаправления в браузер. Используйте это, если вы хотите немедленно направить браузер на какой-нибудь внешний URL-адрес, например Google и т.д. Или, если вы хотите перенаправить на страницу Калитки. Если вы хотите перенаправить с помощью задержка перенаправляющая страница выполнит перенаправление мета-тега с задержкой.
Комментарии:
1. Параметры страницы были бы хороши, за исключением того, как бы вы перешли в соответствующую позицию… вам пришлось бы снова вернуться к javascript.
2. @Marcelo Действительно хорошая мысль… Я исправил свой ответ, чтобы исправить это.
3. И чтобы добавить к ответу Nicktar, вы можете использовать метод urlFor (Class clazz) для генерации строки URL и просто добавить «#section2» в зависимости от выбранного значения в форме.
Ответ №2:
Вы пробовали Link.setAnchor (компонент)?
Комментарии:
1. конечно, я сделал. Проблема в том, что мне нужно сначала обработать форму (выбор пользователя). Затем создайте div с определенной позицией, затем установите anchor. И все это одним щелчком мыши (выбор раздела нажатие кнопки / ссылки) Я управляю этим с помощью AjaxLink и javascript (scrollTo). Однако мне это не нравится таким образом. Я бы предпочел чистое решение
2. Я вижу. Я неправильно понял вопрос. Я бы, вероятно, подумал о том, чтобы для начала создать список выбора, который изменяет привязку к ссылке в OnSelectionChanged.