国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - 詳解SpringMVC的類型轉換及驗證方法

詳解SpringMVC的類型轉換及驗證方法

2021-06-02 15:53Java之家 Java教程

在本篇文章里面我們給大家詳細分析了SpringMVC的類型轉換及驗證方法的相關知識,對此有需要的朋友們學習下吧。

spring mvc 數據綁定流程

springmvc將servletrequest對象及目標方法的形參實例傳給webdatabinderfactory實例,以創建databinder實例對象。databinder調用裝配在springmvc上下文中的conversionservice組件進行類型轉換和數據格式化工作,將servlet請求信息填充到形參對象中。調用validator主鍵對已經綁定了請求信息的形參對象精選數據有效性驗證,并最終生成數據綁定結果bindingdata對象。springmvc抽取bindingresult中的形參對象和校驗錯誤對象,將他們賦給處理方法的相應參數

我們查看源代碼可以看到,通過webdatabinderfactory創建databinder對象

詳解SpringMVC的類型轉換及驗證方法

自定義類型轉換器

當我們碰到一些特殊場合,有可能需要我們自己定義類型轉換器。下麥呢來講解一個自定義類型轉器,將字符串轉換成emp對象,當頁面無法完成數據綁定或者類型轉換時,springmvc會拋出異常,異常信息可以使用bindingresult來進行獲取。

spring定義了三種類型的轉換器接口,實現任意一個轉換器接口都可以作為自定義轉換器注冊到conversionservicefactorybean中。

convertre<s,t>:將s類型轉換為t類型。

converterfactory:將相同系類的多個“同質”converter封裝在一起,如果希望一種類型轉換成另一種類型以及子類對象(例如string轉換成number以number的子類),可以使用該轉換器

genericconverter:會根據源類對象以及目標類對象所在的宿主類中的上下文信息精選類型轉換。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.spring.mvc.controller;
import org.springframework.core.convert.converter.converter;
import org.springframework.stereotype.component;
@component
public class userconverter implements converter<string, user>{
 @override
 public user convert(string source) {
  system.out.println(source);
  string users [] = source.split("-");
  user user = new user();
  user.setuno(integer.valueof(users[0]));
  user.setusername(users[1]);
  user.setuserpass(users[2]);
  return user;
 }
}

conversionservice時springmvc中類型轉換器的核心接口,要添加自定義類型轉換器,需要實現該接口/利用

conversionservicefactorybean在spring的ioc容器中第一一個conversionservice,并在bean屬性配置對于的類型轉換器的實現類,springmvc處理方法的形參綁定時就會自動調用該類型轉換器。

?
1
2
3
4
5
6
7
8
9
10
11
12
<!--將非mapping配置下的請求交給默認的servlet來處理 -->
 <mvc:default-servlet-handler />
 <bean id="conversionservice"
  class="org.springframework.context.support.conversionservicefactorybean">
  <property name="converters">
   <set>
    <ref bean="userconverter" />
   </set>
  </property>
 </bean>
 <!-- 注冊類型轉換器 -->
 <mvc:annotation-driven conversion-service="conversionservice" />

在實際的開發同需要配置:<mvc:annotation-driven />標簽

數據格式化

對屬性的輸入/輸出格式化,其本質來講依然屬于類型轉換的范疇。spring在格式化模塊中定義一個實現conversionservice接口的farmattingconversionservice實現類,該實現類擴展了genericconversionservice,因此它既具有類型轉換的功能有具有格式化的功能。formattingconversionservice擁有一個formattingconversionservicefactorybean工廠類,后者用于構造前者。我們要注冊這個

?
1
<mvc:annotation-driven conversion-service="formattingconversionservicefactorybean" />

jsr303

jsr303時java為bean數據合法性校驗提供的標準框架,它已經包含在javaee6.0中,jsr303通過在bean屬性上標注類似@notnull,@max等標準的數據指定驗證規則,并通過標注的驗證接口對bean進行驗證。

?
1
2
3
4
5
6
7
8
9
10
11
12
@notempty
 @notnull
 private string name;
  
 @notnull
 @notempty
 private string age;
  
 @notnull
 @notempty
 @email
 private string email;

我們在前臺使用springmvc提供的form標簽使用form:errors path 綁定屬性即可

?
1
2
3
4
5
6
7
8
@requestmapping(value="/student",method=requestmethod.post)
 public string add(@valid()student student,bindingresult result){
  if (!result.haserrors()) {//判斷是否有格式轉換錯誤或者其他校驗沒通過
   userservice.addstudent(student);
   return "redirect:list";
  }else
   return "addpage";
 }

springmvc提示消息國際化

?
1
2
3
4
<!-- 注冊國際化信息,必須有id,指定資源文件名稱,資源文件在src目錄下 -->
<bean id="messagesource" class="org.springframework.context.support.resourcebundlemessagesource">
 <property name="basename" value="message"></property>
 </bean>

詳解SpringMVC的類型轉換及驗證方法

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲免费一区 | 亚洲精品免费播放 | 互换娇妻呻吟hd中文字幕 | 成人av网站在线观看 | 国产精品久久久久久久久久久久冷 | 亚洲精品久久久一区二区三区 | 久久国产精品久久久久久电车 | 免费的av网站 | www.777色 | 日韩高清国产一区在线 | 国产精品久久久久久久久久三级 | 亚洲精品成人在线 | 亚洲精品区 | 中文在线资源 | 天堂成人av | 久久久久久一级片 | 亚洲欧美视频在线 | 青青av | 色先锋av资源中文字幕 | 欧美成人激情视频 | 久久久免费国产 | 精品入口麻豆88视频 | 一区二区久久 | 亚洲欧美国产精品专区久久 | 亚洲电影一区二区三区 | 久久久久一区 | 欧美激情精品久久久久久黑人 | 91精品国产综合久久久久久漫画 | 国产成人99久久亚洲综合精品 | 久久亚 | 亚洲成人精品一区 | www久| 精品无人乱码一区二区三区 | 国产精品久久久久久久久久久久久 | aaa欧美大片 | 日韩免费 | 天堂精品久久 | 久久男人 | 91伊人| 一区二区三区免费看 | 日韩二区三区 |