как сохранить выпадающее значение с помощью атрибута selected после отправки html-формы, которая находится внутри самого класса сервлета - PullRequest
0 голосов
/ 18 ноября 2018

открытый класс ServletApplication расширяет HttpServlet {частный статический финал long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    int number1 , number2, number3;
    /*
     * Setting the content type to html
     */
    response.setContentType("text/html");
    /*
     * Getting the printWriter object
     */
    PrintWriter pr = response.getWriter();
    /*
     * Html form in the servlet class itself
     */

    pr.println("<!DOCTYPE html>");
    pr.println("<html>");
    pr.println("<head>");
    pr.println("<tittle>CALCULATOR</tittle");
    pr.println("</head>");
    pr.println("<body>");
    pr.println("<form action = 'ServletApplication' method = 'Get'>");
    /*
     * Retain the values that are entered 
     */
    String n1 = request.getParameter("number1") != null?request.getParameter("number1"):"";
    String n2 = request.getParameter("number2") != null?request.getParameter("number2"):"";
    pr.println("<br>number1:<input type='text' name= 'number1' value="+n1+" ><br>");
    pr.println("<br>number2:<input type='text' name= 'number2' value="+n2+" ><br><br>");
    pr.println("operation:<select name='options'>");
    pr.println("<option name='add' >add</option>");
    pr.println("<option name='multiply' >multiply</option>"); 
    pr.println("<option name='subtract'  >subtract</option>");
    pr.println("<option name='divide' >divide</option>");
    pr.println("</select><br><br>");
    pr.println("<button type= 'submit' value = 'process' name = 'button'>process</button> ");
    pr.println("<button type= 'submit' value = 'cancel' name = 'button'>cancel</button> ");
    pr.println("</form>");
    pr.println("</body>");
    pr.println("</html>");
    /*
     * Avoiding the null format exception
     */
    if (request.getParameter("number2") != null) 
    {

        String button = request.getParameter("button");
        if (button.equals("process")) {
            number1 = Integer.parseInt(request.getParameter("number1"));
            number2 = Integer.parseInt(request.getParameter("number2"));
            String select = request.getParameter("options");

            /*
             * Switch case to select from the drop-down
             */
            switch (select) {
            case "add":
                number3 = number1 + number2;
                pr.println("<br>result:<input type = 'text' value =" + number3 + " />");
                break;
            case "multiply":
                number3 = number1 * number2;
                pr.println("<br>result:<input type = 'text' value =" + number3 + " />");
                break;
            case "divide":
                try
                {
                number3 = number1 / number2;
                pr.println("<br>result:<input type = 'text' value =" + number3 + " />");
                }
                catch(ArithmeticException e)
                {
                    pr.println("<br>result:<input type = 'text' value ='cant divide by zero' />");

                }
                break;
            case "subtract":
                number3 = number1 - number2;
                pr.println("<br>result:<input type = 'text' value =" + number3 + " />");
                break;

            }       

        }

        else 
            response.sendRedirect("ServletApplication");

    }


}

}

как я могу сохранить значение раскрывающегося списка после отправки формы, всесделано только в этом классе сервлетов, я не использую html-файл, jsp или что-то еще.Я хочу запустить это в самом классе сервлетов.я не хочу использовать jsp или javaScript или php.Я пытался использовать троичный, если в заявлении println, но он не работает, пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...