【发布时间】:2022-12-16 09:43:02
【问题描述】:
我在 servlet 类文件中有一个代码
String condition=req.getParameter("condition");
if(condition.equals("checked")
{
//out.println(...)
}
else
{
out.println("<h1>you have not accepted conditions"
}
在 index.html 文件中
<input type="checkbox" name="condition" value="checked"/>
如果框被选中它工作正常但在未选中它不显示其他块代码...
结果是网站仍然有效.. 但是在服务器日志文件中它给出了运行时错误..
【问题讨论】:
-
答案是使用 try catch 块
-
答案是差不多绝不“使用 try catch 块”。您遇到异常的原因是因为浏览器通常不会为未选中的复选框发送任何内容;
condition就是null。将 if 语句更改为null-safe:if ("checked".equals(condition))。 -
@罗布斯普尔答案几乎从来不是“使用 try catch 块”。从来没有一点困难。只有在 NPE 的情况下我才会同意
-
@Jens 这就是为什么我包含了“几乎”这个词。总有例外;这不是一个。