#java #validation #email #jsp
#java #проверка #Адрес электронной почты #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) amp;amp; s2.equals(password))
return "VALID";
else
return "INVALID";
}
public boolean validateEmail() {
String emailRegex = "^[a-zA-Z0-9_ amp;*-] (?:\."
"[a-zA-Z0-9_ amp;*-] )*@"
"(?:[a-zA-Z0-9] \.) [a-z]"
"A-Z]{2,7}$";
Pattern pat = Pattern.compile(emailRegex);
return pat.matcher(email).matches();
}
для response.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")%>
код выдаст ошибку
ошибка говорит, что произошло исключение при обработке страницы JSP / Task2 /response.jsp в строке 18
который
<jsp:setProperty name="validation" property="email" value='<%=request.getParameter("txtEmail")%>'/>
Комментарии:
1. я получил форму входа в jsp так просто
2. Не могли бы вы отредактировать вопрос, я не могу понять, что вы говорите.
Ответ №1:
Вы можете добавить метод перегрузки в класс следующим образом
public boolean validateEmail(inputemail) {
String emailRegex = "^[a-zA-Z0-9_ amp;*-] (?:\."
"[a-zA-Z0-9_ amp;*-] )*@"
"(?:[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.