【问题标题】:JavaScript Number class is not working in Eclipse IDEJavaScript Number 类在 Eclipse IDE 中不起作用
【发布时间】:2020-06-02 07:50:52
【问题描述】:

我使用 Eclipse IDE 2019-12 和 Apache Tomcat 8.5.55 服务器创建了一个动态 Web 项目,用户可以在其中提供整数作为输入,并将它们的总和作为输出。 HTML 文件有一个 JavaScript 函数,用于在将其发送到 Java EE servlet 之前检查空、非数字和非整数输入。

由于检查是在向 servlet 发送请求之前发生的,因此如果 servlet 接收到的不是整数,它就会抛出错误。

我使用Number.isInteger(x) 方法检查输入是否为整数。但是,当我在 Eclispe 中运行 HTML 文件时,JavaScript 中的 Number 类似乎在 IDE 中不起作用。任何提及Number 类似乎都会导致IDE 忽略if 块并将错误的数据发送到servlet。但是使用 Number 类进行检查在任何浏览器中都可以正常工作,因为它应该。

下面是 HTML 代码

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
    <title>Addition Page</title>
    <style type="text/css">
        div
        {
            position:       absolute;
            top:            10px;
            left:           100px;
            width:          250px;
            height:         120px;
            border:         2px solid green;
            border-radius:  20px;
        }
    </style>
    <script type="text/javascript">
        function valueEntryValidation() // Should allow only integers. No empty, character or floating point inputs allowed
        {
            var int1 = document.AdditionForm.integer1.value;
            var int2 = document.AdditionForm.integer2.value;
            if (int1 == "" || int2 == "")
            {
                alert ("Fields cannot be empty");
                return false;
            }
            // Only the if statement below works properly in Eclipse IDE
            // if (isNaN (int1) || isNaN (int2) || int1.indexOf (".") > -1 || int2.indexOf (".") > -1)

            // The if statement below works fine in browsers, but not in Eclipse IDE
            if (isNaN (int1) || isNaN (int2) || !Number.isInteger (Number (int1)) || !Number.isInteger (Number (int2)))
            {
                alert ("Enter integers only");
                return false;
            }
        }
    </script>
</head>
<body>
    <form name="AdditionForm" action="AdditionServlet" method="get" onsubmit="return valueEntryValidation()">
        <div>
            <br>
            <table>
                <tr><td>Integer 1</td><td> <input type="text" name="integer1"/></td></tr>
                <tr><td>Integer 2</td><td> <input type="text" name="integer2"/></td></tr>
                <tr><td></td><td colspan="2" align="Center"><input type="Submit" value="Add"/></td></tr>
            </table>
        </div>
    </form>
</body>
</html>

如何使用 IDE 解决此问题?

【问题讨论】:

  • “但是,当我在 Eclispe 中运行 HTML 文件时”是否涉及内部浏览器或外部浏览器?如果您想确保在运行时支持最新的 API 和标准,您应该使用外部的。
  • 我通过单击 IDE 中的运行按钮来运行它。它会在 IDE 中打开一个浏览器。这只是一个了解 Java Servlet 如何工作的简单项目,因此还没有涉及任何 API。但我希望它内置标准,因为 IDE 本身用于行业标准。
  • 在 Eclipse 中检查您的 Web 浏览器首选项页面并将其设置为外部浏览器。
  • 我自己解决了。不过,谢谢你的帮助,nitind。

标签: javascript html eclipse


【解决方案1】:

所以对我来说问题可能是 Eclipse IDE 组件的版本不兼容。

Eclipse 允许您从软件存储库的 URL 安装某种项目所需的软件,在我的例子中是 Web, XML, Java EE and OSGi Enterprise Development。我很久以前安装了Eclipse,并且安装了旧版本的软件,当Eclipse更新到最新版本时没有更新。我必须手动安装该版本的组件。

首先,通过转到 Help-&gt;Check for Updates 来更新 Eclipse。 下一步,转到Help-&gt;Install New Software 并将URL https://download.eclipse.org/releases/&lt;Eclipse-version&gt;/ 放入Work with: 字段中。 最后,安装所需软件并重启Eclipse。

这对我有用。希望这对你也有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2016-05-21
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多