gpt4 book ai didi

java - request.getParameter 不检查 UI 中的复选框...Servlet (J2EE)

转载 作者:行者123 更新时间:2023-12-02 04:38:27 28 4
gpt4 key购买 nike

我看过很多文章,但从来没有明白这一点。你能解释一下原因吗?

这是我拥有的代码:

HTML:

<input type="checkbox" name="mailing" /> Would you like to join our mailing list ?

服务器:

request.getParameter("mailing").equals("on") ? true : false; // Error if I have NOT checked the checkbox.

"on".equals(request.getParameter("mailing")) ? true : false; // No Error - Works as Expected.

这两个有什么区别?

最佳答案

当取消选中复选框时,浏览器在提交表单时根本不会发送相应的参数。

因此 request.getParameter("mailing") 返回 null。对 null 调用 equals("on") 会引发 NullPointerException。

另一方面,"on".equals(null) 不会引发任何异常,因为正确的 equals() 方法始终返回 false当参数为空时。

请注意

boolean b = "on".equals(request.getParameter("mailing")) ? true : false;

这是不好的做法,并且表现出缺乏理解。它应该简单地写为

boolean b = "on".equals(request.getParameter("mailing"));

关于java - request.getParameter 不检查 UI 中的复选框...Servlet (J2EE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468198/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com