我想問下譬如我想在驗證用戶的攔截器AUTHENTICATIONINTERCEPTOR(簡稱AI)里判斷SESSION不存在,就跳過之後所有的攔截器,例如LOGGER,應該怎麼做?我不想在LOGGER里再判斷,只想在AI里控制,如果控制不了有沒有替代方案?譬如拋出一個異常?然後由異常處理返回?

解决方案 »

  1.   

    可以抛出异常,拦截器的方法:
    public String intercept(ActionInvocation invocation) throws Exception 
    和action方法是一致的返回字符串,可以根据struts配置文件里面的配置跳转到指定的页面。
      

  2.   

    你是說我重構這個方法還是我直接配置這個異常的名稱?如果是直接配置,這個異常的名稱是啥?就是ACTION的返回STRING?還有我如果直接THROW NEW EXCEPTION("LOGIN")可以么?我試驗了一下直接拋出異常其他INTERCEPTOR還是繼續執行的