S2StrutsのPOJO Actionにおけるタイムアウト処理 その2
よく考えたらPOJO Actionを利用した時は、ActionMappingを取得しなくても、global-forwardに定義したフォワード名を文字列として返せば良いだけでした。結局こんな感じでOKですね。
loginCheckInterceptor.java
public class LoginCheckInterceptor implements MethodInterceptor { public Object invoke(MethodInvocation invocation) throws Throwable { HttpServletRequest request = SingletonS2ContainerFactory.getContainer().getRequest(); HttpSession session = request.getSession(false); if (session!=null && session.getAttribute(Globals.SESSION_KEY)!=null) { // ログイン済み return invocation.proceed(); } else { // タイムアウト MessageManager.addGlobalError("errors.login.timeout"); MessageManager.saveErrors(); return "timeout"; } }