我正在尝试重定向到用户尝试登录的页面。如何获取请求URL?
我的意思是,somepage→登录→somepage
我知道这个;
在LoginAction中
HttpServletRequest request = ServletActionContext.getRequest();
String url = request.getServletPath();
setUrl(url);
在struts.xml中
<action name="LoginPro" method="login" class="LoginAction">
<result type="redirect">${url}</result>
<result name="input" type="tiles">login.error</result>
</action>
但它不工作。 请求的url始终是“LoginPro”,它正在处理登录过程。 当用户点击登录按钮时,页面进入LoginPro。所以请求url始终是loginPro ...
它似乎是这样; somepage→登录→loginPro→LoginAction(请求url是loginPro ..)→loginPro
如何将用户重定向到他们尝试登录的页面?
是否可以选择让每个页面包含一个隐藏的输入或URL参数以传递给登录操作?它的值可以是当前页面,然后你可以设置你的重定向'$ {url}'。 – Pat 2010-08-15 00:20:25
我试过你的选择..我在登录JSP中添加<%= request.getServletPath()%>,它的值是这样的... /MyContextPath/tiles/MyTilesLayout.jsp ...我不知道但是它以某种方式与瓷砖相关。 – Deckard 2010-08-15 14:16:06