一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務器之家 - 編程語言 - Java教程 - Spring自帶的校驗框架Validation的使用實例

Spring自帶的校驗框架Validation的使用實例

2021-07-25 16:09Satisfy_555 Java教程

今天小編就為大家分享一篇關于Spring自帶的校驗框架Validation的使用實例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1.首先來一個項目結構圖以及所需jar包

Spring自帶的校驗框架Validation的使用實例

Spring自帶的校驗框架Validation的使用實例

可以看到,沒有添加除了日志和jstl相關的jar包外,沒有其他spring以外的第三方jar包(即使用的是spring自帶的校驗框架)。

2.從前臺頁面開始,首先是接收用戶信息的表單loginform.jsp

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ page language="java" contenttype="text/html; charset=utf-8"
  pageencoding="utf-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>測試validator接口驗證</title>
</head>
<body>
<h3>登錄頁</h3>
<!-- 綁定user -->
<form:form modelattribute="user" method="post" action="login">
<table>
<tr>
<td>登錄名:</td>
<td><form:input path="loginname"/></td>
<!-- 使用form:errors標簽 顯示loginname屬性的錯誤信息 -->
<td><form:errors path="loginname" cssstyle="color:red"/></td>
</tr>
<tr>
<td>密碼:</td>
<td><form:input path="password"/></td>
<!-- 使用form:errors標簽 顯示password屬性的錯誤信息 -->
<td><form:errors path="password" cssstyle="color:red"/></td>
</tr>
<tr>
<td><input type="submit"></td>
</tr>
</table>
</form:form>
</body>
</html>

3.實體類user.java

?
1
2
3
4
5
public class user {
private string loginname;
private string password;
    //省略set和get方法…
}

4.控制器usercontroller.java 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@controller
public class usercontroller {
//注入uservalidator對象
@autowired
@qualifier("uservalidator")
private uservalidator uservalidator;
@requestmapping(value="/{formname}")
public string loginform(
@pathvariable string formname,model model){
user user = new user();
model.addattribute("user", user);
// 動態跳轉頁面
return formname;
}
@requestmapping(value="/login", method=requestmethod.post)
public string login(@modelattribute user user,model model,errors errors){
model.addattribute("user", user);
//調用uservalidator的驗證方法
uservalidator.validate(user, errors);
//如果驗證不通過跳轉到loginform視圖
if(errors.haserrors()){
return "loginform";
}
return "success";
}
}

5.校驗器uservalidator.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//實現spring的validator接口
@repository("uservalidator")
public class uservalidator implements validator{
//該校驗器能夠對clazz類型的對象進行校驗
public boolean supports(class<?> clazz) {
//user指定的class參數所表示的類或接口是否相同,或是否是其超類的超接口
return user.class.isassignablefrom(clazz);
}
//對目標類target進行校驗,并將校驗錯誤記錄在errors中
public void validate(object target, errors errors) {
/**
*使用validationutils中的一個靜態方法rejectifempty()來對
*loginname屬性進行校驗,假若‘loginname'屬性是null或者空字符
*串的話,就拒絕驗證通過。
*/
validationutils.rejectifempty(errors, "loginname", null,"登錄名不能為空");
validationutils.rejectifemptyorwhitespace(errors, "password", null,"密碼不能為空");
user user = (user) target;
if(user.getloginname().length() > 10){
//使用errors的rejectvalue方法驗證
errors.rejectvalue("loginname", null, "用戶名不能超過10個字符");
}
if(user.getpassword() != null && !user.getpassword().equals("")
&& user.getpassword().length() <6){
errors.rejectvalue("password", null, "密碼不能小于6位");
}
}
}

6.spring的配置文件和web.xml的配置文件略……

小結:

第一遍敲這個代碼的時候,有著各種各樣的小問題出現,比較多的就是 類所對應的路徑要import對,因為不同的包中可能會有相同名字的類,而此時一不小心就會導錯了包,會給后面的編寫代碼帶來不必要的麻煩。昨天的時候就調試這個小小的demo就花了好久的時間,后來也沒再去管,然后今天有空了又重新敲了一遍代碼,發現沒有問題,直接一次就通過了,然后去對比昨天的代碼發現,是我在第一遍敲代碼的時候把實體類的get和set方法的名字敲錯了(追溯起來的話是寫屬性的時候把屬性名敲錯了,然后get和set方法是自動生成的,后面去修改屬性時導致沒有將相應的set和get方法改正),哎,,,還是太粗心

ok,然后就是啟動服務器運行程序…

Spring自帶的校驗框架Validation的使用實例

Spring自帶的校驗框架Validation的使用實例

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/Satisfy_555/article/details/79816971

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人伊人青草久久综合网破解版 | 国产精品视频久久久 | 色综合久久六月婷婷中文字幕 | 好湿好滑好硬好爽好深视频 | avove本人照片| 特黄aa级毛片免费视频播放 | 大陆国语自产精品视频在 | 视频在线观看一区二区三区 | 夫妇野外交换激情 | 亚欧有色在线观看免费版高清 | free性泰国女人hd | 挑色视频 | 四虎影视884aa·com | 日韩伦理在线免费观看 | 国产清纯白嫩大学生正在播放 | 国产福利片在线 易阳 | 免费毛片大全 | 99久久国产综合精品网成人影院 | 成人在线免费观看 | 好看的亚洲视频 | 亚洲精品国产精品麻豆99 | 亚洲天堂激情 | 欧美亚洲激情在线 | 亚洲国产AV一区二区三区四区 | ai换脸明星造梦工厂忘忧草 | 好姑娘在线观看完整版免费 | 欧美精品国产一区二区 | 国内精品久久久久影院嫩草 | yellow高清视频日本动漫 | 天天快乐在线观看 | 日出水了特别黄的视频 | 日韩欧美中文字幕一区二区三区 | 天天摸天天碰色综合网 | 国产福利视频一区二区微拍 | 久久久免费热线精品频 | 富士av105| 亚洲国产精品无码中文字幕 | 91手机看片国产永久免费 | 国产成人精品视频一区 | 精品国产原创在线观看视频 | 日韩在线视精品在亚洲 |