【发布时间】:2021-01-03 20:12:51
【问题描述】:
我有一个fill.jsp 文件,其中有以下代码:
<div class="user-values"> <!-- for user's monthly gross pay -->
<label for="grossPay">Monthly gross pay: </label>
$<input id="grossPay" type="number" name="grossPay" placeholder="0.0 or greater" step="0.01" value="${grossPay}">
<span class="req">*</span>
</div>
<div class="user-values"> <!-- for error message -->
<p class="msg">${message2}</p>
</div>
<div class="user-values"> <!-- for user's dependents -->
<label for="noOfDependents">Number of dependents: </label>
<input id="noOfDependents" type="number" name="dependents" placeholder="0 or greater" step="1" value="${dependents}">
<span class="req">*</span>
</div>
<div class="user-values"> <!-- for error message -->
<p class="msg">${message3}</p>
</div>
“每月总工资”接受双倍值。 “家属人数”应该只接受整数。
当我运行此代码时:如果我将数字 2 或 2. 填入“受抚养人数量”并点击计算,我的 servlet 会成功处理计算。
但是,如果我填写双值的数量 2.1 或 2.2 或 3.1 等等,我的表单中会出现以下错误:
我的第一个问题:
当我输入double值2.0或3.0或4.0等的数量时,我得到一个NumberFormatException
Type: class java.lang.NumberFormatException
Message: For input string: "2.0"
为什么我没有收到类似于上图的错误?或者,为什么我的 2.0 处理不成功?请提出一个解决方案,以便我可以避免 1.0 或 2.0 或 3.0 等值的异常?
我的第二个问题:
我的fill.jsp 文件中两种输入类型的值部分在 NetBeans IDE 中给了我以下警告:
"Bad value " " for attribute "value" on element "input": Expected a minus sign or a digit but saw " " instead."
如何避免出现此警告?
请注意:即使出现警告,我的程序也能正常运行。
【问题讨论】:
-
我想你误解了我的问题。我在问题中做了更多的澄清。
-
新答案似乎编译得很好。
-
我还在努力。如果它工作正常,会通知你。
-
好的。很高兴听到。
标签: validation jsp servlets jakarta-ee numberformatexception