Как я могу помешать тегу jsp показывать пустое сообщение по умолчанию? - PullRequest
0 голосов
/ 06 января 2019

Это страница 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 для этого? Буду очень признателен за ваше предложение по этому поводу.

1 Ответ

0 голосов
/ 06 января 2019

Просто поместите ваше <p>..</p> в состояние.

<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>
         <%if(request.getAttribute("message")!=null){ %>

            <p><%=request.getAttribute("message")%></p>
         <% } %>

    </form>

Дайте ответ, если это работает

...