中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springmvc中@Validated注解怎么用

發布時間:2021-09-23 14:26:43 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

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

1. 校驗的錯誤信息, 可以直接在bean屬性上配置, 也可以在properties中配置。

2. 將校驗器bean配置到注解驅動上

3. 在需要校驗的pojo前邊添加@Validated,在需要校驗的pojo后邊添加BindingResult bindingResult接收校驗出錯信息

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

使用validated所需配置:

1. jar包

2. application.xml

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

3. testErrMessage.properties文件

文件結構:

文件內容:

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

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

5. controller

@Controller@RequestMapping("/test/")public class ValidTestController {/** *  * @desc: 校驗沒有分組的屬性 * @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組的屬性進行校驗 * @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注解怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

团风县| 宜春市| 翁牛特旗| 思南县| 敖汉旗| 新河县| 白银市| 天镇县| 聂荣县| 巴彦淖尔市| 宝丰县| 体育| 鄄城县| 红桥区| 望江县| 长武县| 寿阳县| 开鲁县| 孙吴县| 郓城县| 渝中区| 乌拉特后旗| 三明市| 博白县| 广宁县| 津市市| 黄梅县| 海阳市| 广德县| 霸州市| 苗栗市| 罗甸县| 沭阳县| 红桥区| 社旗县| 芦溪县| 建水县| 扬州市| 和平县| 都安| 福州市|