中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

springmvc中@Validated注解怎么用

小編給大家分享一下springmvc中@Validated注解怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、寧城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1. 校驗(yàn)的錯(cuò)誤信息, 可以直接在bean屬性上配置, 也可以在properties中配置。

2. 將校驗(yàn)器bean配置到注解驅(qū)動(dòng)上

3. 在需要校驗(yàn)的pojo前邊添加@Validated,在需要校驗(yàn)的pojo后邊添加BindingResult bindingResult接收校驗(yàn)出錯(cuò)信息

注意:@Validated和BindingResult bindingResult是配對出現(xiàn),并且形參順序是固定的(一前一后)。

使用validated所需配置:

1. jar包

2. application.xml

<!-- validated 校驗(yàn)配置start -->  <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" >  <!-- 提供檢驗(yàn)機(jī)制的類: 此處用的而是Hibernate校驗(yàn)器,但是跟Hibernate沒有關(guān)系 -->  <property name="providerClass" value="org.hibernate.validator.HibernateValidator" />  <!-- 指定校驗(yàn)的使用的資源文件, 如果不需要額外的錯(cuò)誤配置文件,就不用配置該屬性,   在配置文件中配置k-v的錯(cuò)誤提示信息,如果不指定則使用默認(rèn)配置:classpath下的ValidationMessages.properties -->  <property name="validationMessageSource" ref="messoreSources" />  </bean>  <!-- 額外錯(cuò)誤信息文件配置 -->  <bean id="messoreSources" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"><!--   錯(cuò)誤信息資源文件, 不需要寫后綴, 默認(rèn)后綴為.properties -->  <property name="basenames">  <list>  <value>classpath:testErrMessages</value>  </list>  </property><!--   錯(cuò)誤信息文件編碼方式 -->  <property name="fileEncodings" value="utf-8" /><!--   錯(cuò)誤信息文件緩存時(shí)間 -->  <property name="cacheSeconds" value="120" />  </bean>  <!-- validated 校驗(yàn)配置end -->      <!-- 注解驅(qū)動(dòng),替換處理器映射器、處理器適配器 -->  <mvc:annotation-driven validator="validator" />

3. testErrMessage.properties文件

文件結(jié)構(gòu):

文件內(nèi)容:

4. bean的配置, 省略get/set方法

public class ValidBean {     //直接配置錯(cuò)誤信息@NotBlank(message="用戶名不能為空", groups= {UserGroup1.class})private String name;@Max(value=120, message="年齡最大為120")private Integer age;// 使用配置文件中的錯(cuò)誤信息, properties中的key: message="{key}"。 {}:占位符@NotBlank(message="{validator.user.address}")private String address;}

5. controller

@Controller@RequestMapping("/test/")public class ValidTestController {/** *  * @desc: 校驗(yàn)沒有分組的屬性 * @auth: zona * 2017年2月19日 下午2:35:42  * @param bean * @param bindingResult * @return */@RequestMapping("valid")@ResponseBodypublic Result testValid(@Validated ValidBean bean, BindingResult bindingResult) {Result result = new Result();Map retMap = new HashMap();StringBuilder sb = new StringBuilder();if(bindingResult.hasErrors()) {List<ObjectError> errors = bindingResult.getAllErrors();for (ObjectError err : errors) {sb.append(err.getDefaultMessage()+"; ");}result.setErrInfo(sb.toString());result.setErrNo(1); return result;}retMap.put("bean", bean);result.success();result.setData(retMap);return result;}/** *  * @desc: 僅對屬于userGroup組的屬性進(jìn)行校驗(yàn) * @auth: zona * 2017年2月19日 下午2:37:03  * @param bean * @param bindingResult * @return */@RequestMapping("group/valid")@ResponseBodypublic Result testGroupValid(@Validated(value=UserGroup1.class) ValidBean bean, BindingResult bindingResult) {Result result = new Result();Map retMap = new HashMap();StringBuilder sb = new StringBuilder();if(bindingResult.hasErrors()) {List<ObjectError> errors = bindingResult.getAllErrors();for (ObjectError err : errors) {sb.append(err.getDefaultMessage()+"; ");}result.setErrInfo(sb.toString());result.setErrNo(1); return result;}retMap.put("bean", bean);result.success();result.setData(retMap);return result;}}

以上是“springmvc中@Validated注解怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:springmvc中@Validated注解怎么用
當(dāng)前地址:http://www.rwnh.cn/article32/jgpesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站制作、服務(wù)器托管、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
乐至县| 漳州市| 香格里拉县| 邮箱| 博客| 万年县| 遵义县| 内乡县| 湖州市| 涪陵区| 界首市| 文登市| 高雄县| 南涧| 土默特左旗| 金寨县| 板桥市| 仲巴县| 潮安县| 闽侯县| 麻江县| 会东县| 长沙市| 定陶县| 遵义市| 梧州市| 泸水县| 乐亭县| 德格县| 莱阳市| 隆林| 柞水县| 溆浦县| 云林县| 安义县| 金沙县| 威海市| 贡觉县| 莎车县| 五大连池市| 色达县|