java bean validation 在实践中是如何工作的

How does java bean validation work in practical

我想知道 java bean 验证是否会在实际中起作用,假设我们有一个 Maven mvc 项目,带有一个用户登录表单。所以我们有一个带有 html 表单的 jsp/jsf 页面,一个 JDBC 连接的 Datamapper/DAO 和一个 java 用户 bean,它看起来像这样:

public class Student {

@NotNull(message ="username can't be null)
private String uName;
@NotNull(message ="lastname can't be null)
private String lname;
@Email (regex string="")
private String email;
private int age;

public Student(String uName, String lname, String email, int age) {
    this.uName = uName;
    this.lname = lname;
    this.email = email;
    this.age = age;
}

public String getuName() {
    return uName;
}

public void setuName(String uName) {
    this.uName = uName;
}

public String getLname() {
    return lname;
}

public void setLname(String lname) {
    this.lname = lname;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
    }
}

如果用户在应用程序的视图部分输入了一些无效信息,会发生什么情况?它一直到 bean 获取消息然后显示它是什么?

通常如何使用 bean 验证?仅适用于 Spring 和 Hibernate,还是一般适用于 java EE?

Validation一般用于JavaEE。不仅在 Spring 和 Hibernate 中。 Bean Validation是一个JEE规范,标记为:

  • JSR-303 (v.1.0)
  • JSR-349(1.1 版)
  • JSR-380(2.0 版)

它的工作原理与您在问题中提到的完全一样。