<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

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: youjizz亚洲| 亚洲AV无码专区亚洲AV桃| 成年女人A毛片免费视频| 亚洲免费福利在线视频| 日韩免费一区二区三区在线| 亚洲白色白色永久观看| 免费在线观看视频网站| 亚洲av无码一区二区三区天堂古代 | 中国一级特黄高清免费的大片中国一级黄色片 | 51视频精品全部免费最新| 久久久久亚洲av无码专区导航| 日本免费一区二区久久人人澡 | 精品国产污污免费网站入口| 国产成人亚洲精品影院 | 无码乱肉视频免费大全合集| 亚洲另类视频在线观看| 成人无遮挡毛片免费看| 无遮挡国产高潮视频免费观看| 亚洲中文字幕第一页在线| 青青青国产手机频在线免费观看| 亚洲天堂在线播放| 色窝窝免费一区二区三区| 美女免费视频一区二区三区| 亚洲中文字幕无码不卡电影| 久久国产精品一区免费下载| 91亚洲国产成人久久精品| 韩国二级毛片免费播放| 中国极品美軳免费观看| 亚洲国产精品成人综合久久久| 国产午夜精品免费一区二区三区| 亚洲色av性色在线观无码| 免费无码黄十八禁网站在线观看| 黄页网站在线观看免费| 亚洲av日韩av无码| 免费黄色网址入口| 日本黄色动图免费在线观看| 亚洲三级中文字幕| 国产综合亚洲专区在线| AV片在线观看免费| 中文字幕av免费专区| 精品久久久久久亚洲精品|