欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Java培訓(xùn)之Spring校驗(yàn)框架代碼詳解

2018-01-19 13:46:55 1327瀏覽

Spring擁有自己的校驗(yàn)框架,使用起來非常的簡便。本次主要使用的是繼續(xù)Validator接口來實(shí)現(xiàn)的數(shù)據(jù)校驗(yàn)。最終配合i18n來實(shí)現(xiàn)不同語言版本的校驗(yàn)信息的顯示。

環(huán)境說明,sts3.8.2+maven3.3.9+tomcat8.5

實(shí)現(xiàn)步驟:

1. 新增maven web項(xiàng)目,在pom中添加依賴

org.springframework

spring-webmvc

4.3.6.RELEASE

2. 在web.xml中配置Spring MVC的配置文件

springDispatcherServlet

org.springframework.web.servlet.DispatcherServlet

1

springDispatcherServlet

/

3. 在Spring MVC配置文件WEB-INF/springDispatcherServlet-servlet.xml中設(shè)置

class="org.springframework.context.support.ReloadableResourceBundleMessageSource"

p:basename="/WEB-INF/msg"/>

class="org.springframework.web.servlet.view.InternalResourceViewResolver"

p:prefix="/" p:suffix=".jsp" />

4. 新增pojo類Student

package com.qfedu.pojo;

public class Student {

private int sid;

private String name;

private int age;

private double score;

public int getSid() {

return sid;

}

public void setSid(int sid) {

this.sid = sid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getScore() {

return score;

}

public void setScore(double score) {

this.score = score;

}

}

5. 新增校驗(yàn)類StudentValidater實(shí)現(xiàn)Spring的Validate接口5

package com.qfedu.validate;

import org.springframework.validation.Errors;

import org.springframework.validation.ValidationUtils;

import org.springframework.validation.Validator;

import com.qfedu.pojo.Student;

public class StudentValidate implements Validator {

@Override

public boolean supports(Class clazz) {

return Student.class.isAssignableFrom(clazz);

}

@Override

public void validate(Object target, Errors errors) {

Student stu = (Student) target;

ValidationUtils.rejectIfEmpty(errors, "name", "stu.name");

ValidationUtils.rejectIfEmpty(errors, "age", "stu.age");

ValidationUtils.rejectIfEmpty(errors, "score", "stu.score");

ValidationUtils.rejectIfEmpty(errors, "sid", "stu.sid");

int age = stu.getAge();

if(age < 0 || age > 200){

errors.rejectValue("age", "stu.age.invalid");

}

double score = stu.getScore();

if(score < 0 || score > 100){

errors.rejectValue("score", "stu.score.invalid");

}

}

}

6. 新增控制器類StudentController

package com.qfedu.controller;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.PostMapping;

import com.qfedu.pojo.Student;

import com.qfedu.validate.StudentValidate;

@Controller

public class StudentController {

// 任何請求將都被該請求對應(yīng)的頁面來處理

@GetMapping("/{view}")

public String getView(@PathVariable String view, Model model){

// 在model中添加student對象,用來在表單中顯示和處理對象的數(shù)據(jù)

model.addAttribute("student", new Student());

return view;

}

@PostMapping("/saveStudent")

public String saveStudent(Student student, BindingResult errors, Model model){

StudentValidate sv = new StudentValidate();

sv.validate(student, errors);

if(errors.hasErrors()){

return "saveStudent";

}

return "success";

}

}

6. WEB-INF下新增兩個(gè)msg文件以支持中文(msg_zh_CN.properties)和英文(msg_en_US.properties)的校驗(yàn),如果有需要還是自行按照規(guī)則添加該文件

#msg_en_US.properties

stu.name=name must not be empty!

stu.age=age must not be empty!

stu.score=score must not be empty!

stu.sid=sid must not be empty!

stu.age.invalid=age is not available, must be between 0 - 200

stu.score.invalid=score is not available, must be between 0 - 100

#msg_zh_CN.properties

#后面的東西全部是上面對應(yīng)key的中文翻譯,自動(dòng)被轉(zhuǎn)成Unicode編碼

stu.name=\u59D3\u540D\u4E0D\u80FD\u4E3A\u7A7A!

stu.age=\u5E74\u9F84\u4E0D\u80FD\u4E3A\u7A7A!

stu.score=\u6210\u7EE9\u4E0D\u80FD\u4E3A\u7A7A!

stu.sid=\u5B66\u751F\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A!

stu.age.invalid=\u5E74\u9F84\u5FC5\u987B\u57280-200\u4E4B\u95F4

stu.score.invalid=\u6210\u7EE9\u5FC5\u987B\u57280-100\u4E4B\u95F4

7. 在webapp下新增saveStudent.jsp頁面

sid: *

name:*

age:*

score:*

8. 在webapp下新增success.jsp

this is success page.

9. 整體項(xiàng)目的結(jié)構(gòu)圖片

10. 整體項(xiàng)目的運(yùn)行結(jié)果

a. 英文不合法校驗(yàn)

b. 中文不合法校驗(yàn)

c. 校驗(yàn)成功頁面

以上就是關(guān)于扣丁學(xué)堂Java培訓(xùn)之Spring校驗(yàn)框架代碼的詳細(xì)介紹,最后想要了解更多關(guān)于Java發(fā)展前景趨勢,請關(guān)注扣丁學(xué)堂Java培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的Java視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的第一套自適應(yīng)Java在線視頻課程系統(tǒng),讓你快速掌握J(rèn)ava從入門到精通開發(fā)實(shí)戰(zhàn)技能。


扣丁學(xué)堂微信公眾號



關(guān)注微信公眾號獲取更多學(xué)習(xí)資料



查看更多關(guān)于“Java開發(fā)資訊的相關(guān)文章>>

標(biāo)簽: JavaEE視頻教程 JavaEE培訓(xùn) JavaEE開發(fā)工程師 Java培訓(xùn)

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部