最近在處理一個項目時應用Action POJO來做表單傳值時,配置了一個用戶登錄的攔截器,結果在運行時每次保存時Action中POJO都無值,近來在網絡找到一篇文章說要添加上默認攔截器,去試了下成功從頁面表單傳值到Action中的POJO中
<interceptors>
<interceptor name="loginInterceptors"
class="system.interceptor.UserLoginInterceptor" />
<interceptor-stack name="checkLogin">
<interceptor-ref name="loginInterceptors" />
<span style="color:#ff0000;"> <interceptor-ref name="defaultStack" />
</span> </interceptor-stack>
</interceptors>
<action name="*E" class="{1}Action">
<span style="color:#ff0000;"><interceptor-ref name="checkLogin" /></span>
<interceptor-ref name="defaultStack" />這一行是必加的,不然在Action執行過程中會POJO被重新創建無法獲取到從表單傳入的值,action攔截時是引用interceptor-stack的name值。