不能在Servlet中的If语句中重定向

问题描述 投票:0回答:1

我正在研究Web应用程序,在我的Servlet中我做了验证。如果我有一些空输入或其他东西,我希望它重定向到同一页面。但我有一些问题。如果我尝试在if语句内部进行重定向(没有else语句)它不会重定向,它只会在下面产生错误。

我怎么能让它工作?没有多个if / else语句。这是我的简化代码:

   if (dateOfDelivery.equals(" ") || dateOfDelivery.equals("")) {
                String errorMsq = "Error create Order, enter return Date";
                log.error(errorMsq);
                new ErrorRedirect().sendRedirect(ErrorRedirect.ERROR_MAIN_MENU_URL + errorMsq, response);
   } else {
                LocalDate sqlDateOfDelivery = LocalDate.parse(dateOfDelivery, dateFormat);
                Long defaultPenalty = 0L;
                OrderValidation.redirectIfBookCountInStockZero(book, response);
                if (book.getCountInStock() == 0 || book.getCountInStock() < 0) {
                    String errorMsq = "Book count in stock equals zero!";
                    new ErrorRedirect().sendRedirect(ErrorRedirect.ERROR_MAIN_MENU_URL + errorMsq, response);
                } else {

                    Order order = Order.builder()....
   response.sendRedirect(allBooksList);

我的new ErrorRedirect().sendRedirect()是我写的简单包装。

java redirect servlets
1个回答
1
投票

只需在发送重定向后从处理程序返回,例如:

if (dateOfDelivery.equals(" ") || dateOfDelivery.equals("")) {
            String errorMsq = "Error create Order, enter return Date";
            log.error(errorMsq);
            new ErrorRedirect().sendRedirect(ErrorRedirect.ERROR_MAIN_MENU_URL + errorMsq, response);
            return "redirected...";
}
© www.soinside.com 2019 - 2024. All rights reserved.