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




(при условии, что 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
}
поэтому, если вы хотите, чтобы действие вернулось на исходную страницу, вы можете определить запись нескольких действий, указывающая на одно и то же действие, но с другим именем и входным значением.
Надеюсь, это поможет.
Примерно неделю назад аналогичный вопрос был задан в Stackoverflow, и после нескольких предложений, связанных с заголовками HttpReferrer, была предложена альтернатива. Я заплачу его и выложу ссылку здесь.
Предполагая, что вы говорите о навигации в вашем собственном приложении, и предполагая, что struts 2, вы можете передать параметр действию, давайте вызовем его следующим образом с именем следующего действия. Допустим, у вас есть действие, определенное в struts.xml:
<action name = "myaction" class = "com.me.MyActionClass">
<result name = "success">${next}</result>
</action>
В MyActionClass вам нужно будет объявить свойство рядом с его геттерами и сеттерами. При вызове этого действия вы должны указать значение для next, которое может быть тем же именем, что и страница, с которой вы вызываете действие.
Большое спасибо - извиняюсь за то, что не смог отметить мой правильный ответ, так как сайт, похоже, изменился, и я не вижу, как это сделать, но я использовал
Будьте осторожны с использованием «Referer» и других заголовков HTTP, поскольку промежуточные прокси-серверы могут фильтровать их.
Еще проще:
<%= request.getHeader("Referer") %>
например, в referer я получил uri как http://www.sun.com/questions?pnr=18&value=gg в то время как я не могу ссылаться на эту строку, я получил эту строку нормально. теперь мне нужно получить значение параметр, как его получить. из этой строки
К сожалению, inputForward не всегда может быть тем местом, откуда вы пришли. Совершенно возможно, чтобы HTML-код, сгенерированный одним действием, содержал форму, которая отправляет сообщение второму действию. Когда это происходит, inputForward будет ссылаться на страницу JSP второго действия, а НЕ первого.