Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录struts2后返回调用者页面_Struts2_Struts Config - Fatal编程技术网

登录struts2后返回调用者页面

登录struts2后返回调用者页面,struts2,struts-config,Struts2,Struts Config,我有一个download.jsp页面,该页面的功能是仅当他登录时才下载文件。 当他单击下载选项时,它会要求下载登录名,他会重定向到登录页面,当他进行身份验证时,用户应该重定向到download.jsp 这是我的struts.xml文件 欢迎 家 在LoginAction类中,我只有一个方法login,它验证并返回成功或失败,并调用结果页面 登录后如何返回调用方页面download.jsp您可以尝试实现上述功能的选项很少 httprefererheader-like final String

我有一个download.jsp页面,该页面的功能是仅当他登录时才下载文件。 当他单击下载选项时,它会要求下载登录名,他会重定向到登录页面,当他进行身份验证时,用户应该重定向到download.jsp

这是我的
struts.xml
文件


欢迎
家
在LoginAction类中,我只有一个方法login,它验证并返回成功或失败,并调用结果页面


登录后如何返回调用方页面download.jsp

您可以尝试实现上述功能的选项很少

httpreferer
header-like

final String refer = request.getHeader("Referer");
这几乎没有什么问题,防火墙和well浏览器可以阻止它,这可能会导致一些问题,尽管我没有看到任何这样的问题,并且使用过几次

另一个更可靠的解决方案是使用隐藏文件或附加当前页面URL作为查询字符串,并在应用程序中使用它,如

<a href="login?destination=theCurrentUrl">Login</a>

您可以使用此变量查找当前页面URL,并在登录后重定向它

如果您使用的是Spring安全性,它内置了此功能,用于存储来自使用位置的信息,并在身份验证后重定向回同一页面


希望这对您有所帮助

您介意发布控制器的“登录”方法吗?如果您总是想返回“download.jsp”,那么操作重定向非常简单。但是,如果你想返回“上一页”,你必须将该url保存在某个地方,比如GET参数或in session。登录方法只能返回两个值,即“success”或“failure”,因为用户担心我在会话中保留了一个url。是否仍然可以返回上一页并返回“成功或失败”