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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java開(kāi)發(fā)之基于Validator接口的SpringMVC數(shù)據(jù)校驗(yàn)方式

java開(kāi)發(fā)之基于Validator接口的SpringMVC數(shù)據(jù)校驗(yàn)方式

2022-01-04 00:45DrLai Java教程

這篇文章主要介紹了java開(kāi)發(fā)之基于Validator接口的SpringMVC數(shù)據(jù)校驗(yàn)方式,文中附含詳細(xì)示例代碼,有需要的朋友可以借鑒參考下

Spring MVC 提供了兩種數(shù)據(jù)校驗(yàn)的方式:

1、基于 Validator 接口。

2、使用 Annotation JSR - 303 標(biāo)準(zhǔn)進(jìn)行校驗(yàn)。

基于 Validator 接口的?式需要自定義 Validator 驗(yàn)證器,每?條數(shù)據(jù)的驗(yàn)證規(guī)則需要開(kāi)發(fā)者?動(dòng)完成, 使? Annotation JSR - 303 標(biāo)準(zhǔn)則不需要?定義驗(yàn)證器,通過(guò)注解的方式可以直接在實(shí)體類中添加每個(gè)屬性的驗(yàn)證規(guī)則,這種方式更加方便,實(shí)際開(kāi)發(fā)中推薦使用。

1.定義實(shí)體類Account

?
1
2
3
4
5
6
7
package entity;
import lombok.Data;
@Data
public class Account {
    private String name;
    private String password;
}

2.自定義驗(yàn)證器 AccountValidator,實(shí)現(xiàn) Validator 接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package validator;
import entity.Account;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
public class AccountValidator implements Validator {
    @Override
    public boolean supports(Class<?> aClass) {
        return Account.class.equals(aClass);
    }
    @Override
    public void validate(Object o, Errors errors) {
        ValidationUtils.rejectIfEmpty(errors,"name",null,"姓名不能為空");
        ValidationUtils.rejectIfEmpty(errors,"password",null,"密碼不能為空");
    }
}

Validator中有兩個(gè)方法, supports是判斷傳入是否為目標(biāo)類,如果是的話則進(jìn)行下一步,數(shù)據(jù)驗(yàn)證的操作。

3.控制器

?
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
package Mycontroller;
import entity.Account;
import entity.Person;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.validation.Valid;
@Controller
@RequestMapping("/validator")
public class ValidatorHandler {
    @GetMapping("/login")
    public String login(Model model){
        model.addAttribute("account",new Account());
        return "login";
    }
    @PostMapping("/login")
    public String login(@Validated Account account, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            return "login";
        }
        return "index";
    }

4. springmvc.xml 配置驗(yàn)證器

?
1
2
3
<bean id="accountValidator" class="com.southwind.validator.AccountValidator">
</bean>
<mvc:annotation-driven validator="accountValidator"></mvc:annotation-driven>

5.jsp文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form:form modelAttribute="account" action="/validator/login" method="post">
        姓名:<form:input path="name"></form:input><form:errors path="name"></form:errors><br>
        密碼:<form:input path="password"></form:input><form:errors path="password"></form:errors><br>
        <input type="submit" value="登錄">
    </form:form>
</body>
</html>

以上就是java開(kāi)發(fā)之基于Validator接口的SpringMVC數(shù)據(jù)校驗(yàn)方式的詳細(xì)內(nèi)容,更多關(guān)于SpringMVC數(shù)據(jù)校驗(yàn)的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/DrLai/article/details/119577797

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開(kāi)發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒(méi)有升過(guò)級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
主站蜘蛛池模板: 一级毛片免费视频 | 蜜桃色网| 国产一区免费 | 国产精品久久99 | av在线免费观看网址 | 成人免费小视频 | 国产精品久久久久无码av | 亚洲成人一区在线 | 国产福利一区二区 | 羞羞视频在线看 | 国产乱码精品一区二区三区五月婷 | 国偷自产一区二区免费视频 | 日韩三级电影网 | 久久久久久久国产精品 | 欧美不卡一区二区三区 | 国产美女视频网站 | 日韩视频一区二区三区 | 国产午夜久久 | 伊人网站| 亚洲成av人片在线观看无码 | 日韩中文字幕在线视频 | 春色网站| 日本视频在线 | 红杏首页 | 日韩在线免费 | 日韩综合区 | 欧美精品在线一区 | 精品欧美一区二区三区久久久 | 在线国产一级片 | 日本三级不卡 | 国产成人精品久久二区二区 | av免费直接看| 激情欧美一区二区三区中文字幕 | 久久国产精品无码网站 | 午夜影院免费 | 97色在线观看免费视频 | 精品久久一区二区三区 | 欧美精品在线观看 | 91精品一区二区 | 玖玖精品| 欧美视频第一区 |