Предыдущая ссылка Struts JSP

Кто-нибудь знает, как я могу получить предыдущий URL-адрес JSP, который страница пришла из JSP?

Могу ли я получить это из объекта сеанса / запроса / ответа?

Надеюсь, это имеет смысл, спасибо

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
4 639
5

Ответы 5

(при условии, что Struts 1)

Ну, в struts-config.xml есть входной параметр в элементе действия (в разделе сопоставлений действий) Итак, в вашем действии (класс java) вы можете получить доступ к этому значению следующим образом:

public ActionForward action(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { //do some stuff return mapping.getInputForward(); //return to the caller }

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

Надеюсь, это поможет.

К сожалению, inputForward не всегда может быть тем местом, откуда вы пришли. Совершенно возможно, чтобы HTML-код, сгенерированный одним действием, содержал форму, которая отправляет сообщение второму действию. Когда это происходит, inputForward будет ссылаться на страницу JSP второго действия, а НЕ первого.

belugabob 16.10.2008 17:38

Примерно неделю назад аналогичный вопрос был задан в Stackoverflow, и после нескольких предложений, связанных с заголовками HttpReferrer, была предложена альтернатива. Я заплачу его и выложу ссылку здесь.

belugabob 16.10.2008 17:39

Предполагая, что вы говорите о навигации в вашем собственном приложении, и предполагая, что struts 2, вы можете передать параметр действию, давайте вызовем его следующим образом с именем следующего действия. Допустим, у вас есть действие, определенное в struts.xml:

<action name = "myaction" class = "com.me.MyActionClass">
   <result name = "success">${next}</result>
</action>

В MyActionClass вам нужно будет объявить свойство рядом с его геттерами и сеттерами. При вызове этого действия вы должны указать значение для next, которое может быть тем же именем, что и страница, с которой вы вызываете действие.

Большое спасибо - извиняюсь за то, что не смог отметить мой правильный ответ, так как сайт, похоже, изменился, и я не вижу, как это сделать, но я использовал

Будьте осторожны с использованием «Referer» и других заголовков HTTP, поскольку промежуточные прокси-серверы могут фильтровать их.

Guido 20.10.2008 14:47

Еще проще:

<%= request.getHeader("Referer") %> 

например, в referer я получил uri как http://www.sun.com/questions?pnr=18&value=gg в то время как я не могу ссылаться на эту строку, я получил эту строку нормально. теперь мне нужно получить значение параметр, как его получить. из этой строки

Другие вопросы по теме