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

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

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

    隨筆-67  評論-522  文章-0  trackbacks-0
        服務器端的數據驗證,對于一個WEB應用來說是非常重要的,而Spring3.0開始支持JSR-303規范,它定義了一些標準的驗證約束,同時也提供了一個可擴展的自定義方式來滿足不同的開發需要,大象以SSM3為基礎,結合實例來說明如何通過Spring MVC用自定義約束注解的方式來實現Validator驗證。
        在實現功能之前,我們需要在pom文件里添加一些必須的依賴:
        
        validation-apiJSR-303規范的標準接口,hibernate-validator則是這套接口的一個實現,而hibernate-validator的實現里面又會用到slf4j,所以還需要加上這兩個jar包。有了這些,我們就可以在此基礎上實現自定義注解約束擴展了。
        本篇還是以SSM3為基礎,以對角色名稱添加屏蔽詞為例來說明如何實現這些功能。
        首先需要定義這樣一個屏蔽詞注解:
        
        上面這個注解類,message(),groups()payload()這三個方法是注解驗證的標準格式,filed()表示驗證的字段名稱,{constraint.default.words.message}是從ValidationMessages.properties資源文件中獲取的,這個文件的位置就在resources目錄下面。
        現在定義了驗證接口,就需要有處理接口的實現,WordsValidator.class就是用來處理這個的:
        
        這里大象為了說明實現的方法,簡化了處理,實際開發中,可以改進一下,通過使用屏蔽詞庫對value值進行過濾。下面是一個測試類,對此注解進行一個簡單的測試。
        
        現在定義好了注解,我們就可以使用它了。
        
        RoleControllersave方法需要加入驗證以及錯誤處理:
        
        頁面上想要顯示驗證的錯誤信息,最方便的就是直接使用spring-webmvc里的org.springframework.web.servlet.view.freemarkerspring.ftl文件,它里面定義了很多的宏命令,同時還可以添加自定義的宏命令:
        
        role_edit.html這個頁面的變動不大,主要就是四點,具體的可以查看源碼。
        1、引入并定義<#import "/common/spring.ftl" as spring/>
        2、在角色名input后面增加<label class="error" for="name" style="display:none;"></label>
        3、然后加入jquery.js,用來解析showErrors中的腳本
        4、使用<@spring.showErrors/>
        最后,要想讓這些功能都能正常的運行起來,需要改下servlet-context.xml文件
        
        源碼下載: ssm3_annotation   
        本文為菠蘿大象原創,如要轉載請注明出處。http://www.tkk7.com/bolo
    posted on 2013-12-16 17:47 菠蘿大象 閱讀(17424) 評論(10)  編輯  收藏 所屬分類: Spring3

    評論:
    # re: 基于Spring MVC框架JSR-303的自定義注解validator驗證實現 2013-12-17 15:56 | china obd2
    很好很強大  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解validator驗證實現 2013-12-17 17:43 | CoderDream
    感謝分享!

    SQL腳本有問題,user表少了一個password字段!  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解validator驗證實現 2013-12-17 18:01 | 菠蘿大象
    @CoderDream
    多謝兄臺指正,這個字段是多余的,我也不知道為什么就在里面,已經更新了下載包。  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解validator驗證實現 2013-12-18 11:35 | 鯉伴
    專家 人才  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2014-03-28 18:30 | 最代碼
    我根據你的博客整理了一份代碼,下載地址:http://www.zuidaima.com/share/1755786415246336.htm  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2014-03-29 12:32 | 菠蘿大象
    @最代碼
    謝謝分享  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2014-03-30 23:47 | 最代碼
    @菠蘿大象
    客氣  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2014-04-08 16:31 | 王凱文

    constraint.default.words.message={filed}\u6709\u5c4f\u853d\u8bcd
    請問這是一種什么格式編碼阿?  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2014-04-14 19:42 | 菠蘿大象
    @王凱文
    你需要裝個propedit插件  回復  更多評論
      
    # re: 基于Spring MVC框架JSR-303的自定義注解Validator驗證實現 2015-11-03 11:57 | 認真
    非常感謝,貢獻源碼非常有用, 再次感謝!  回復  更多評論
      
    主站蜘蛛池模板: 亚洲www在线观看| 国产性爱在线观看亚洲黄色一级片| 69视频在线观看免费| 十八禁视频在线观看免费无码无遮挡骂过 | 日韩免费高清大片在线| 国产成人无码免费看片软件| 免费看又黄又爽又猛的视频软件| 国产成人亚洲精品91专区高清 | 亚洲国产精品成人久久| 国产亚洲人成无码网在线观看| 国产亚洲?V无码?V男人的天堂| 亚洲午夜无码久久久久| 国产亚洲A∨片在线观看| 亚洲高清国产AV拍精品青青草原| 国产亚洲综合网曝门系列| 亚洲AV永久纯肉无码精品动漫 | 毛片免费在线播放| 成年女人视频网站免费m| 特级淫片国产免费高清视频| 免费亚洲视频在线观看| 亚洲精品第一国产综合精品99| 亚洲国产91精品无码专区| 亚洲毛片不卡av在线播放一区| 亚洲日韩精品一区二区三区无码 | 免费精品国偷自产在线在线 | 久久久精品视频免费观看| 久久精品免费观看| 最近中文字幕免费2019| 大地资源在线观看免费高清| 国产高清在线精品免费软件| 亚洲毛片av日韩av无码| 亚洲五月激情综合图片区| 亚洲综合色区中文字幕| 蜜臀亚洲AV无码精品国产午夜.| 日韩免费高清一级毛片| 中文字幕在线免费看线人| 3d动漫精品啪啪一区二区免费| 成年性羞羞视频免费观看无限| 亚洲AV日韩精品一区二区三区| 久久精品夜色国产亚洲av| 国产婷婷综合丁香亚洲欧洲|