【发布时间】: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