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

来源:1-11 Servlet获取表单数据

Juneava

2016-11-21 20:44

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

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回答

  • 空指针异常null
    2016-11-22 14:05:45
    已采纳

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

    Juneav...

    非常感谢!

    2016-11-22 14:37:23

    共 6 条回复 >

  • 壹牛小二亦峰4242200
    2017-03-27 17:00:59
    如果勾上,则浏览器发送字符串"on"到服务器,把它存进request对象,通过request.getParameter("isAccept")就可以
    取到该字符串,也可以通过request.getParameterValues("isAccept")[0]取到该字符串!
    如果没勾选,那么浏览器并没有发送数据给服务器,通过request.getParameter("isAccept")或者
    request.getParameterValues("isAccept")都会返回null,表示里面没有任何数据


  • 壹牛小二亦峰4242200
    2017-03-27 04:10:14

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

  • 纯情小豆比
    2016-12-05 17:41:26

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

    Stefan... 回复Juneav...

    是老师给的demo打错了,我也是一样的错误。后来看了你的评论,才发现是这样。

    2017-02-06 10:51:26

    共 4 条回复 >

JAVA遇见HTML——Servlet篇

本门课程在JSP课程的基础上,深入介绍Servlet的基础知识

160615 学习 · 1029 问题

查看课程

相似问题