【问题标题】:How does java bean validation work in practicaljava bean验证在实际中是如何工作的
【发布时间】:2018-04-13 05:45:27
【问题描述】:

我想知道 java bean 验证是否可以实际工作,假设我们有一个 Maven mvc 项目,带有一个用户登录表单。所以我们有一个带有 html 表单的 jsp/jsf 页面、一个用于 JDBC 连接的 Datamapper/DAO 和一个 java User 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?

【问题讨论】:

    标签: java javabeans


    【解决方案1】:

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

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

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

    【讨论】:

    • 那么字符串消息是如何显示的呢?例如,如果字符串未保存到 q 请求或会话对象,我如何显示字符串?
    • 例如,在 JSF 的 JEE 堆栈中,您有一个标签 h:messages,它在一个位置显示与 UI 元素相对应的所有消息。还有一个 h:message 标签用于单元素验证消息
    猜你喜欢
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多