ユーザーがログインしているかどうかを確認するauthenインターセプターがあります。そうでない場合は、参照元URLを示すクエリ文字列パラメーター「url」を使用して、ログインページにリダイレクトします。リダイレクト URL に値を渡すために「actionInvocation.getInvocationContext().getParameters()」を使用しようとしましたが、運がありません。
誰かが私が間違ったことを提案できますか? どうもありがとう。
インターセプター コード:
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>