0

Javaクラス(サーブレット)を介してjspページを検証し、結果に応じてエラーメッセージを表示して続行または戻るにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

2
  • jsp から setvlet にフォームを POST する
  • サーブレットの中doPost()で、データを受け取る
  • 受信したデータに対して検証を実行する

正しく検証された場合は条件付きでリクエストを成功ページに転送するか、検証に失敗した場合はリクエスト属性にエラーメッセージを設定し、リクエストを再度FORMページに転送します

例えば

// Prepare messages.
Map<String, String> messages = new HashMap<String, String>();
request.setAttribute("messages", messages);

// Get and validate name.
String name = request.getParameter("name");
if (name == null || name.trim().isEmpty()) {
    messages.put("name", "Please enter name");
} else if (!name.matches("\\p{Alnum}+")) {
    messages.put("name", "Please enter alphanumeric characters only");
}

// Get and validate age.
String age = request.getParameter("age");
if (age == null || age.trim().isEmpty()) {
    messages.put("age", "Please enter age");
} else if (!age.matches("\\d+")) {
    messages.put("age", "Please enter digits only");
}

// No validation errors? Do the business job!
if (messages.isEmpty()) {
    messages.put("success", String.format("Hello, your name is %s and your age is %s!", name, age));
}

request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);

詳細情報を見る

于 2012-07-18T08:59:31.707 に答える