wml

          重復提交的處理

          xwork.xml 的配置:

          這個攔截器可以保證一個令牌對應一個請求。確保后退按鈕和兩次提交不會產生不希望的效果。 例如你可以使用這個來防止粗心的用戶在在線商店點了兩下"結帳"按鈕。這個攔截器使用了非常簡單的機制來處理非法令牌:返回一個invliad.token的結果,這樣你就可以在action配置中做映射了。一個復雜一些的實現是TokenSessionStoreInterceptor, 可以在發現非法令牌時提供更好的處理邏輯。

          注意: 為了設置表單的令牌,你必須使用token標簽。 這個標簽放在表單中,并且這個表單是提交到受這個攔截器保護的action:任何不提供令牌(使用token標簽產生的)的請求將被處理為非法請求

          國際化注意事項:這個攔截器用下面的鍵作為錯誤信息。

          注意: 因為這個攔截器是擴展于MethodFilterInterceptor, 所以可以決定在action中的哪些方法上應用它。

          <action name="someAction" class="com.examples.SomeAction">
              <interceptor-ref name="token"/>
              <interceptor-ref name="basicStack"/>
              <result name="success">good_result.ftl</result>
          </action>

          <-- 在這個例子中,action的myMethod方法不會做令牌檢查 -->
          <action name="someAction" class="com.examples.SomeAction">
              <interceptor-ref name="token">
                <param name="excludeMethods">myMethod</param>
              </interceptor-ref name="token"/>
              <interceptor-ref name="basicStack"/>
              <result name="success">good_result.ftl</result>
          </action>

          表單的配置 :

          <ww:token />

          防止多次提交表單.
          使用token標簽能幫助解決多次提交表單的問題.此標簽需要你啟用TokenInterceptor 或者TokenSessionInterceptor攔截器.
          ww:token標簽只不過放置了一個隱藏的表單元素,它包含一個唯一的令牌.

          例子:
          <form name="demoForm" action="someAction.action" method="Post">
          <ww:token />
          </form>

          posted on 2006-07-25 12:11 wml 閱讀(826) 評論(0)  編輯  收藏 所屬分類: WebWork

          主站蜘蛛池模板: 肥城市| 冕宁县| 蓝田县| 绍兴市| 遂昌县| 开封市| 紫云| 永丰县| 桐梓县| 卢湾区| 木兰县| 闽侯县| 梁山县| 大竹县| 左贡县| 溆浦县| 长泰县| 阿荣旗| 乐清市| 凤台县| 卓尼县| 鄂尔多斯市| 阳西县| 将乐县| 金湖县| 海原县| 昭平县| 安达市| 武胜县| 丹东市| 济宁市| 晋中市| 宾阳县| 沽源县| 德化县| 潍坊市| 商丘市| 织金县| 改则县| 德钦县| 陆河县|