<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0
          說明:該文翻譯自struts-2.0.8\docs\docs\validating-input.html

          在編寫Action這一章節中,我們通過幾行java代碼來驗證usernamepassword。當然,在大型的應用程序中,這將是個很耗時的工作,即使這幾行java代碼也可能變成維護的重大負擔。

         令人高興的是,本框架提供了一個驗證框架,這個驗證框架能夠對輸入數據進行后臺驗證。

    一.             代碼

         驗證能夠通過XML文檔來描述,或者使用注解(annotations)。XML文檔的名稱以Action的名字為開頭,以“-validation”作為文件名后綴。當我們想要驗證Logon Action的時候,我們文件名可以命名為Logon-validation.xmlLogon-validation.xml的代碼如下:

    <!DOCTYPE validators PUBLIC 
    "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
    <validators>
        <field name="username">
            <field-validator type="requiredstring">
                <message>Username is required</message>
            </field-validator>
        </field>
        <field name="password">
            <field-validator type="requiredstring">
                <message>Password is required</message>
            </field-validator>
        </field>
    </validators>

         Logon.java后我們創建一個Logon-validation.xml文件。并將上述粘貼到該文件中。

         頁面第一次顯示的時候,我們不想引發驗證。我們需要在被告訴有輸入不正確前有機會輸入數據。通過驗證的一種方式是找到一個ActionSupport基類提供的特定的“input”方法。為了這樣做,我們需要編輯Welcome頁面和Logon的映射。

         Welcome.jsp的修改代碼如下:

        <li><a href="<s:url action="Logon"/>">Sign On</a></li>
        <li><a href="<s:url action="Logon_input"/>">Sign On</a></li>

        struts.xml的修改代碼如下:

        <action name="Logon" class="tutorial.Logon">
        <action name="Logon_*" method="{1}" class="tutorial.Logon">

    二.             代碼是如何工作的?

        為了打開Logon表單,Welcome頁面涉及了Logon_input

         1. 框架將這個引用于Logon_*映射相匹配起來;

         2. “method={1}”屬性被“method=input”替換;

         3. 框架調用了Logon Action類的input方法;

         4. 因為“input”在一個特殊的方法的列表中,所以驗證框架將不會調用;

         5.  默認的input方法返回一個“input”作為返回結果;

         6. 框架展現“Logon.jsp”來作為回應結果,沒有帶有任何的驗證信息。

         為了提交Logon表單,Login頁面引用了Logon

         1. 框架為目標Action——Logon提供驗證;

         2. 找到Logon-validation.xml文件,框架為該類創建了一個驗證對象,這個驗證對象基于XML文件;

         3. 驗證器對輸入的數據產生作用;

         4. 如果驗證失敗,錯誤信息被添加到內部序列中;

         5. 當所有的驗證器都已經執行后,如果框架發現有錯誤信息產生,它尋找“input”結果對應的頁面,而不調用Action類;

         6. 如果通過驗證,調用Action的方法,返回“success”對應的結果。

    三.             需要記住的東西

         框架提供了一個驗證框架。一個輸入域可以綁定一個驗證器集合。如果驗證失敗,框架將會返回輸入信息頁,并顯示錯誤信息。為了通過驗證,一個特殊的“input”方法將被調用,來代替默認的“execute”方法。

    下一章:本地化輸出

    上一章:選擇結果

    posted on 2007-08-01 08:49 阿蜜果 閱讀(3969) 評論(2)  編輯  收藏 所屬分類: Struts2


    FeedBack:
    # re: Struts2學習進階(六)——驗證輸入值
    2007-08-01 12:12 | dreamstone
    不知道現在struts2的商業應用廣泛不。  回復  更多評論
      
    # re: Struts2學習進階(基礎篇六)——驗證輸入值
    2007-08-06 09:35 | Adma
    關于驗證xml的文件可以這樣命名
    該類名-別名(定義的action名)-validation.xml
    這樣的話,可以針對每個不同的業務進行數據驗證。
      回復  更多評論
      
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉Axure RP  (2015年12月出版)
          

          Power Designer系統分析與建模實戰  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關注blog

    積分與排名

    • 積分 - 2294803
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲男人天堂2022| 阿v免费在线观看| 热久久精品免费视频| 青娱乐在线免费观看视频| 亚洲精品无码av人在线观看| 四虎免费影院ww4164h| 狼人大香伊蕉国产WWW亚洲 | 久久精品国产亚洲AV香蕉| 成人毛片18女人毛片免费视频未| jizz免费在线观看| 亚洲AV综合色区无码二区偷拍| 亚洲 综合 国产 欧洲 丝袜| 最近2019免费中文字幕6| 亚洲va中文字幕| 亚洲AV成人无码久久精品老人 | AA免费观看的1000部电影| jizz免费在线观看| 日韩亚洲国产高清免费视频| 亚洲色成人网站WWW永久| 一二三四在线播放免费观看中文版视频| 欧洲精品码一区二区三区免费看| 777亚洲精品乱码久久久久久| 亚洲av中文无码| 最近免费中文字幕视频高清在线看 | 国产精品深夜福利免费观看| 亚洲精品免费视频| 污污视频网站免费观看| 亚洲人成网站日本片| 久久亚洲精品视频| 免费一级毛片在播放视频| 久久久久久久免费视频| 久久精品国产免费一区| 特级av毛片免费观看| 亚洲人成77777在线播放网站不卡| 人人狠狠综合久久亚洲88| 午夜亚洲国产成人不卡在线 | 精品无码一区二区三区亚洲桃色| 亚洲一级Av无码毛片久久精品 | 亚洲福利视频一区二区三区| 中文字幕亚洲第一| 又黄又爽的视频免费看|