为了账号安全,请及时绑定邮箱和手机立即绑定

不管是否接受霸王条款,request.getParameterValues("isAccpet")都是null,信息上都是false,怎么解决?

也就是说,不管接受霸王条款的复选框有没有打钩,返回的都是空字符串集??这是为什么????

if(request.getParameterValues("isAccpet")!=null)
    			{
    			  isAccept = "true";
    			}
    			else
    			{
    			  isAccept = "false";
    			}
if(isAccept.equals("true"))
    			{
    				u.setFlag(true);
    			}
    			else
    			{
    				u.setFlag(false);
    			}
 <td class="title">是否接受协议:</td>
          <td class="content">&nbsp;<jsp:getProperty name="regUser" property="flag"/></td>


正在回答

4 回答

首先,应该是getParameter,这是个单选框,返回的只有一个数值。其次,你在servlet这个类里,声明了一个string类型的变量isAccept来接受单选框的值,你用getParameterValues是会报错的,因为values获得的是一个数组,不能传到单独的一个字符串变量里去。直接报错,连编译都通不过,更不要说传对象了。

0 回复 有任何疑惑可以回复我~
#1

Juneava 提问者

不是,我是复选框checkbox啊
2016-11-22 回复 有任何疑惑可以回复我~
#2

空指针异常null 回复 Juneava 提问者

那你同时选接受和不接受也没有值吗?你把reg.jsp里接受霸王条款的这段html代码发上来看看。
2016-11-22 回复 有任何疑惑可以回复我~
#3

Juneava 提问者 回复 空指针异常null

选接受不接受都是false <td class="controler"> <input type="checkbox" name="isAccept" value="true">是否接受霸王条款 </td>
2016-11-22 回复 有任何疑惑可以回复我~
#4

Juneava 提问者

非常感谢!
2016-11-22 回复 有任何疑惑可以回复我~
查看3条回复
如果勾上,则浏览器发送字符串"on"到服务器,把它存进request对象,通过request.getParameter("isAccept")就可以
取到该字符串,也可以通过request.getParameterValues("isAccept")[0]取到该字符串!
如果没勾选,那么浏览器并没有发送数据给服务器,通过request.getParameter("isAccept")或者
request.getParameterValues("isAccept")都会返回null,表示里面没有任何数据


1 回复 有任何疑惑可以回复我~

@Juneava ,我跟你一样的错误,无语了

0 回复 有任何疑惑可以回复我~

isAccept = "true" 改成 isAccept = request.getParameter("isAccept") 试试

0 回复 有任何疑惑可以回复我~
#1

Juneava 提问者

谢谢,已找到原因,前面拼写错误了。。。
2016-12-05 回复 有任何疑惑可以回复我~
#2

慕粉1474367326 回复 Juneava 提问者

请问你是哪里拼写错了呢?我跟着老师码的,核对原代码也没有不同。但发现传到RegServlet的request.getParameter("isAccpet")值打了勾还是null。搞不明白。
2016-12-27 回复 有任何疑惑可以回复我~
#3

StefanLee2015 回复 Juneava 提问者

是老师给的demo打错了,我也是一样的错误。后来看了你的评论,才发现是这样。
2017-02-06 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

不管是否接受霸王条款,request.getParameterValues("isAccpet")都是null,信息上都是false,怎么解决?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信