Это страница jsp registration_of_an_user.jsp
<body>
<div id="container">
<form action="User_Controller_Servlet" method="POST">
<input type="hidden" name="command" value="REGISTRATION_OF_AN_USER" />
<table>
<tbody>
<tr>
<td><label>User name</label></td>
<td><input type="text" name="u_name"></td>
</tr>
<tr>
<td><label>User email</label></td>
<td><input type="text" name="u_email"></td>
</tr>
<tr>
<td><label></label></td>
<td><input type="submit" value="Register"></td>
</tr>
</tbody>
</table>
<p><%=request.getAttribute("message")%></p>
</form>
</div>
Это часть контроллера.
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String _command = request.getParameter("command");
switch (_command) {
case "REGISTRATION_OF_AN_USER":
registration_of_an_user_controller_servlet(request, response);
break;
default:
}
} catch (Exception e) {
throw new ServletException(e);
}
}
private void registration_of_an_user_controller_servlet(HttpServletRequest request, HttpServletResponse response)
throws Exception {
String _user_name = request.getParameter("u_name");
String _user_email = request.getParameter("u_email");
User user = new User(_user_name, _user_email);
if (user_dao.email_exist_or_not_dao(_user_email)) {
request.setAttribute("message", "An user with this email already exists.");
request.getRequestDispatcher("/registration_of_an_user.jsp").forward(request, response);
}
user_dao.registration_of_an_user_dao(user);
get_list_of_users_controller_servlet(request, response);
}
Всякий раз, когда выполняется registration_of_an_user.jsp, в нем отображается пустое сообщение вместо этого тега абзаца. Было бы здорово, если бы я мог избежать показа этого сообщения по умолчанию. Как я могу это сделать? Могу ли я сделать это из контроллера или я должен использовать сценарий Java для этого? Буду очень признателен за ваше предложение по этому поводу.