java - 我想在 jsp 中显示 boolean 方法以进行电子邮件验证

标签 java validation email jsp

我收到了包含用户名、密码和电子邮件的登录表单

当我不包含所有相关的电子邮件部分时,程序成功运行

但是当我插入电子邮件表格时 我无法显示有效的电子邮件

我有验证方法(Validation.java)

    public class Validation {
private String username;
private String password;
private String email;

public String getUsername() {
    return username;
}
public String getPassword() {
    return password;
}
public String getEmail() {
    return email;
}
public void setUsername(String username){
    this.username = username;
}
public void setPassword(String password) {
    this.password = password;
}
public void setEmai(String email) {
    this.email = email;
}

public String validate (String s1, String s2) {
    if (s1.contains(username) && s2.equals(password))
        return "VALID";
    else
        return "INVALID";

}
public boolean validateEmail() {
    String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\." + 
            "[a-zA-Z0-9_+&*-]+)*@" +
            "(?:[a-zA-Z0-9]+\\.)+[a-z]" +
            "A-Z]{2,7}$";

    Pattern pat = Pattern.compile(emailRegex);
    return pat.matcher(email).matches();
}

对于respond.jsp,这是我的代码

    <html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>task 2: login Feedback</title>
</head>
<body style="font-family: Futura; max-width: 600px">
    <jsp:useBean id="validation" class="com.lab5.task2.Validation" scope="request">
        <jsp:setProperty name="validation" property="username" value='<%=request.getParameter("txtUsername")%>'/>
        <jsp:setProperty name="validation" property="password" value='<%=request.getParameter("txtPassword")%>'/>
        <jsp:setProperty name="validation" property="email" value='<%=request.getParameter("txtEmail")%>'/>
    </jsp:useBean>
<fielset>
    <legend>Validation</legend>
    <p>You entered username as <jsp:getProperty name="validation" property="username"/></p>
    <p>You entered password as <jsp:getProperty name="validation" property="password"/></p>
    </br>
    <p>You are a <%=validation.validate("Amirul","12345")%></p>
    <p> Your email: <jsp:getProperty name="validation" property="email"/>
    <%=validation.validateEmail()%>

</fielset>

</body>

我遇到了如何显示有效电子邮件的问题 我无法使用

    <%=validation.validateEmail("amirul@gmail.com")%>

代码会产生错误 错误显示在第 18 行处理 JSP 页面/Task2/respond.jsp 时发生异常 这是

    <jsp:setProperty name="validation" property="email" value='<%=request.getParameter("txtEmail")%>'/>

最佳答案

您可以像这样在类中添加重载方法

public boolean validateEmail(inputemail) {
    String emailRegex = "^[a-zA-Z0-9_+&*-]+(?:\\." + 
            "[a-zA-Z0-9_+&*-]+)*@" +
            "(?:[a-zA-Z0-9]+\\.)+[a-z]" +
            "A-Z]{2,7}$";

    Pattern pat = Pattern.compile(emailRegex);
    return pat.matcher(inputemail).matches();
}

将不带参数的方法更改为

public boolean validateEmail() {
    return validateEmail(this.email);
}

您可以使用<%=validation.validateEmail("amirul@gmail.com")%>在 JSP 文件中。

关于java - 我想在 jsp 中显示 boolean 方法以进行电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55789790/

相关文章:

java - 使用 Play 将验证错误作为 JSON 返回!框架

javascript - jquery 验证消息未显示

visual-studio - 以编程方式配置 Outlook 邮件设置?

r - 代码执行完成时的电子邮件(或类似)通知

java - 何时使用对象数组而不是 ArrayList<>?

java - 如何从 Android 进行安全的 HTTPS 调用

java - Java 中对于 "multidimensional"列表使用的最佳数据结构是什么?

java - 解释 rxJava 中的下游和上游

jquery - 使用 span 和类,MVC 框架在 jQuery 中进行基于 Kendo 模型的验证

ruby-on-rails-3 - 如何从通过 HTTP Post 收到的电子邮件中获取 header 信息(例如主题)