我有一个 authen 拦截器来检查用户是否已登录。如果没有,它将重定向到登录页面,查询字符串参数“url”指示引荐来源网址。我尝试使用“actionInvocation.getInvocationContext().getParameters()”将值传递给重定向 URL,但没有运气。
谁能建议我做错了什么?非常感谢。
拦截器代码:
public String intercept(ActionInvocation actionInvocation) throws Exception {
Map session = actionInvocation.getInvocationContext().getSession();
Map params = actionInvocation.getInvocationContext().getParameters();
String user = (String) session.get(Constants.KEY_USER);
boolean isAuthenticated = (null!=user);
if (!isAuthenticated) {
params.put("backUrl", "http://www.some_url.com/");
return Action.LOGIN;
}
else {
return actionInvocation.invoke();
}
}
struts.xml 部分
<global-results>
<result name="login" type="redirect">/login?url=${backUrl}</result>