<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

         在驗(yàn)證輸入這一小節(jié)中,我們使用驗(yàn)證框架來驗(yàn)證提交到表單的數(shù)據(jù)。在“本地化輸出”這一節(jié)中,我們將驗(yàn)證信息移到消息資源文件中。

         當(dāng)創(chuàng)建web應(yīng)用程序的時候,我們發(fā)現(xiàn)我們在多個頁面中常常使用一些相同的消息或字段標(biāo)簽。如果我們的系統(tǒng)由不同語言的用戶使用時,我們也想要本地化消息。

    一.             本地化驗(yàn)證信息和屬性值

         讓我們增加一個消息資源文件,并且在其中加入驗(yàn)證信息和字段標(biāo)簽。

    1.代碼

         本框架將消息資源與類聯(lián)系起來。為了為Logon action增加一個消息資源,我們需要將消息資源文件命名為Logon.properties,并且在Logon Action后設(shè)置它的classpath。但是,大多數(shù)人發(fā)現(xiàn)為某一個類使用一個單獨(dú)的資源文件時間和低效率的工作。很多人更喜歡為一整個類包增加一個消息資源文件。為了做到這樣,我們可以簡單的為某個包增加一個paacage.properties文件。例如。我們?yōu)?/span>tutorial包增加一個資源文件tutorial/package.properties。該文件內(nèi)容如下:

    requiredstring = $\{getText(fieldName)} is required.
    password = Password
    username = User Name

         我們還需要改變一下驗(yàn)證器和Logon頁面。

         Logon-validation.xml修改的地方:

     <message>Username is required</message>
    <message key="requiredstring"/>

    <message>Password is required</message>
    <message key="requiredstring"/>

         Logon,jsp修改的地方如下:

    <s:textfield label="User Name" name="username"/>
    <s:textfield label="%{getText('username')}" name="username"/>

    <s:password label="Password" name="password" />
    <s:password label="%{getText('password')}" name="password" />

    2. 代碼是如何工作的?

       1)“key”屬性告訴驗(yàn)證器為一個消息資源捆綁驗(yàn)證;

        2) 在資源捆綁中,表達(dá)式:${getText(fieldName)}告訴框架在資源文件中查找字段名。這種方式下我們能夠?yàn)樗械姆强镇?yàn)證使用相同的默認(rèn)信息;

         3)相似地,在文本域中,表達(dá)式:%{getText(‘password’)}告訴框架在資源文件中尋找“password”。

    二.             本地化其余的信息

        其余的頁面元素也能夠被本地化。例如,我們需要在資源文件中增加“Hello World”和“Missing page”這兩個消息。

    1. 代碼

    tutorial/package.properties

    # ... 
    HelloWorld.message = Struts is up and running ...
    Missing.message = This feature is under construction. Please try again in the next interation.

        這對HelloWorld是可運(yùn)行的,因?yàn)?/span>Hello World已經(jīng)存在于包中。但是它對于默認(rèn)的Missing action是不可用的,除非你將我們的基類加入到tutorial包中。

        TutorialSupport.java的代碼如下:

    package tutorial;
    import com.opensymphony.xwork2.ActionSupport;
    public class TutorialSupport extends ActionSupport {}

        并且還需要更新一下struts.xml默認(rèn)的通配符映射,如下:

    <action name="*" class="tutorial.TutorialSupport">
     <result>/{1}.jsp</result>
    </action>

        現(xiàn)在,我們可以更新HelloWorld.jspMissing.jsp來查找信息。

        Missing.jsp的代碼如下:

    This feature is under construction. Please try again in the next interation.
    <s:text name="Missing.message"/>

        在HelloWorld的情況下,我們從Action類設(shè)置消息。讓我們更新一下class,使用資源文件來代替它。HelloWorld的代碼如下:

    package tutorial;
    public class HelloWorld extends ExampleSupport {
        
    public static final String MESSAGE = "HelloWorld.message";
        
    public String execute() throws Exception {
            setMessage(getText(MESSAGE));
            
    return SUCCESS;
        }

     
     
    //  
    }


    2. 代碼是如何工作的?

       1)對于Missing.jsp,我們使用text標(biāo)簽來查找資源文件中的消息;
     
      2) HelloWorld中,我們在Action類中使用getText()方法來獲得消息;

       3)  HelloWorld.jsp中,只是顯示由Action類設(shè)置的消息,所以不要做任何改變。

    三.             需要記住的東西

        框架支持國際化。為了本地化應(yīng)用,我們增加了資源文件,并且更新某些元素或標(biāo)簽來應(yīng)用資源文件中的資源而不是靜態(tài)的文本。

    下一篇:struts2-blank-2.0.8實(shí)例解析
    上一篇:驗(yàn)證輸入信息

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


    FeedBack:
    # re: Struts學(xué)習(xí)進(jìn)階(七)——本地化輸出
    2007-08-01 19:53 | jvlstudio
    期待  回復(fù)  更多評論
      
    # re: Struts學(xué)習(xí)進(jìn)階(基礎(chǔ)篇七)——本地化輸出
    2007-08-04 11:13 | dsad
    www.cctvten.com  回復(fù)  更多評論
      
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

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

          Power Designer系統(tǒng)分析與建模實(shí)戰(zhàn)  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關(guān)注blog

    積分與排名

    • 積分 - 2294895
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 麻豆一区二区三区蜜桃免费| 国产99视频免费精品是看6| 色婷婷综合缴情综免费观看 | 国产一区二区三区亚洲综合| 在线观看亚洲一区二区| 久久精品国产精品亚洲人人| 日本高清免费中文字幕不卡| 91手机看片国产永久免费| 最近中文字幕大全免费版在线| 美女视频黄频a免费| 亚洲日韩中文字幕一区| 亚洲视频在线观看免费视频| 亚洲va中文字幕无码久久| 国产成人亚洲综合| 免费人成网站在线播放| 免费羞羞视频网站| 四虎成人精品一区二区免费网站| 在线看无码的免费网站| 久久成人免费大片| 久久青草免费91观看| 久久国产精品国产自线拍免费| 国产精品永久免费| 亚洲精品偷拍视频免费观看| 免费一区二区三区在线视频| 免费人成大片在线观看播放电影| 亚洲狠狠婷婷综合久久蜜芽| 成人亚洲国产va天堂| 在线亚洲高清揄拍自拍一品区| 亚洲另类视频在线观看| 亚洲黄色在线电影| 亚洲精品国产情侣av在线| 亚洲精品mv在线观看| 亚洲小说区图片区| tom影院亚洲国产一区二区| 亚洲va乱码一区二区三区| 亚洲另类古典武侠| 亚洲综合激情五月色一区| 亚洲乱码av中文一区二区| 亚洲a无码综合a国产av中文| 精品免费AV一区二区三区| 黄色免费网址大全|