0

ユーザーが一意の ID を入力できるログイン画面を作成しようとしています。選択した ID が一意ではないという情報をユーザーに伝えるにはどうすればよいですか。これまでのところ、私ができることは例外をトリガーすることだけです。

登録.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Enter Your details here</title>
</head>
<body>
<h3>Enter User ID</h3>
<br>
<form action = "RegistrationServlet" method = "post">
Enter User ID : <input type = "text"  name ="newUserId"/>
<br>Enter your Password : <input type = "password" name ="newUserPassword"/>
<br>Enter your First Name :<input type = "text" name = "newUserFirstName"/>
<br>Enter your Last Name : <input type = "text" name ="newUserLastName"/>
<br><input type = "submit"/>
<br>
<%=session.getAttribute("notUniqueUserID")%>
</form>
</body>
</html>

登録サーブレット

catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            boolean notUniqueUserID = true;
            request.getSession(notUniqueUserID);
            response.sendRedirect("registration.jsp");
        }
4

1 に答える 1

0

これは、フォームをリロードし、ユーザーがすべてのデータを再度入力する必要があるため、最善の解決策ではありません。この種の検証には AJAX を使用することをお勧めします。とにかく、これはリクエストに1つの属性を設定し、それをjspで取得するためのコードです。

サーブレット:

}catch (SQLException e) {
            e.printStackTrace();
            boolean notUniqueUserID = true;
            request.setAttribute("notUniqueUserID", "Not Unique User ID");
            request.getRequestDispatcher("registration.jsp").forward(request, response);
        }

JSP:

<%=request.getAttribute("notUniqueUserID")%>
于 2013-05-29T07:42:50.897 に答える