未输入任何内容时代码未执行

时间:2019-03-16 00:12:27

标签: java

我正在尝试构建世界时钟,以显示GMT,PST等。

我唯一的问题是,当用户在文本字段中未键入任何内容时,它不会进入仅在用户不输入任何内容并显示本地时间时执行的if语句。我已经提供了所有代码来查看问题所在。

html代码:

<body>
    <form action="WorldClockWebApp" method="post">
        <table>
            <tr>
                <td>Enter Time Zone:</td>
                <td><input type="text" name="timezone"  /></td>
            </tr>
            <tr>
                <td></td>
                <td></td>
            </tr>       
            <tr>
                <td><input type="submit" value="Submit"  /></td>
            </tr>
        </table>
    </form>
</body>

servlet代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String input = request.getParameter("timezone");
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
    ZoneId z;
    boolean valid = true;
    TimeZone t = null;
    String[] ids = TimeZone.getAvailableIDs();
    if (input != "") // If the user enters in a timezone.
    {
        for (String id : ids) {
            if (input.equalsIgnoreCase(id))
                t = TimeZone.getTimeZone(id);
        }
    }
    if (t == null)
        response.getWriter().append("<h1>What's the time Mr Wolf?</h1>")

                .append("<p>No time provided, but the local time is " + t.getDisplayName().toString() + " is:</p>")
                .append("<h2>" + LocalTime.now(t.toZoneId()).format(dtf) + "</h2>")
                .append("<form action=\"/project4/WorldClock.html\">" + "<button type=\"submit\">Go Back</button>"
                        + "</form>"); // Button gives user option to go back.
    else
        response.getWriter().append("<h1>What's the time Mr Wolf?</h1>")
                .append("<p>The current time in " + t.getDisplayName().toString() + " is:</p>")
                .append("<h2>" + LocalTime.now(t.toZoneId()).format(dtf) + "</h2>")
                .append("<form action=\"/project4/WorldClock.html\">" + "<button type=\"submit\">Go Back</button>"
                        + "</form>"); // Button gives user option to go back.
}

2 个答案:

答案 0 :(得分:0)

我认为您需要执行if input != null而不是if input !=""

答案 1 :(得分:0)

假设您实现了doPost方法,并且类似于doGet方法,则应使用equals而不是!=“” 您的代码可以像下面的代码。

if (!input.equals(""))