在实现简单的本地登录系统时,需要把page1.jsp的表单显示在page2.jsp中。

其中获取page1.jsp表单的办法就是在页面1的<form>中加入action="page2.jsp"

like this:

<form name="users_name" action="page2.jsp">
<p>
<label>Name</label>
<input type="text" name="name">
</p>
<p>
<label>Gender</label>
<input type="radio" name="gender" value="Male">Male
<input type="radio" name="gender" value="Female">Female
</p> <p>
<label>Interest</label>
<input type="checkbox" name="interest" value="Sing">Sing
<input type="checkbox" name="interest" value="Dance">Dance
<input type="checkbox" name="interest" value="Play balls">Play balls
<input type="checkbox" name="interest" value="Play games">Play games
</p>
<p id="buttons">
<input type="submit" value="Submit">
</p>

前两种轻松用request.getParameter()解决

    Name:<%=request.getParameter("name")%><br>
Sex:<%=request.getParameter("gender")%><br>

而在获取checkbox 时用request.getParameterValues()却出现了问题

Habits:<%= request.getParameterValues("interest")%><br>

输出时输出了:Habits:[Ljava.lang.String;@5f0df6e9

在网上搜索后发现:getParamerterValues()为获取数组的方法

getParamerterValues与request.getParameter的区别:    https://blog.csdn.net/moreorless/article/details/4199677

然后改成for循环输出:

Habits:<%
String[] habits = request.getParameterValues("interest");
for( int i = 0; i<habits.length; i++)
System.out.println(habits[i]);
%><br>

结果被抛出异常:


Type Exception Report

Message An exception occurred processing JSP page /printinfo.jsp at line 20

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /printinfo.jsp at line 20

17:     Sex:<%=request.getParameter("gender")%><br>
18: Habits:<%
19: String[] habits = request.getParameterValues("interest");
20: for( int i = 0; i<habits.length; i++)
21: System.out.println(habits[i]);
22: %><br>
23: </body> Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:613)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

java.lang.NullPointerException
org.apache.jsp.printinfo_jsp._jspService(printinfo_jsp.java:101)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:472)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Note The full stack trace of the root cause is available in the server logs.


脑瓜疼。。

说明

habits根本就没收到来自request.getParameterValues("interest")传值
经过多番查找,找到了问题所在
Habits:<%
String[] habits = request.getParameterValues("interest");
if(habits!=null)
{
for(int i=0;i<habits.length;i++)
{
out.print(habits[i]);
}
}
%><br>

原来犯了个非常低级的错误,在获取值的时候没有判断来的值是否为空。。。。

以后千万长记性嗷!!

request.getParameterValues 出现 [Ljava.lang.String;@ 错误的更多相关文章

  1. Java中调用c/c++语言出现Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误

    错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/S ...

  2. com.opensymphony.xwork2.ognl.OgnlValueStack] - target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@6f205e]

    情况1,查询结果未转换为与前台交互的实体类DTO 实体类:EmailTypeDto package com.manage.email.dto; public class EmailTypeDto { ...

  3. ognl.OgnlException: target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@1513fd0)

    [com.opensymphony.xwork2.ognl.OgnlValueStack] - Error setting expression 'emaiTypeDto.emailTypeNo' w ...

  4. 疑难杂症:java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/String;)V

    错误: java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/Strin ...

  5. Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String;

    异常:Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.co ...

  6. SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;

    错误:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String ...

  7. Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

    1.window操作系统的eclipse运行wordcount程序出现如下所示的错误: Exception in thread "main" java.lang.Unsatisfi ...

  8. org.apache.xerces.dom.ElementNSImpl.setUserData(Ljava/lang/String;Ljava/lang

    HTTP Status 500 - Handler processing failed; nested exception is java.lang.AbstractMethodError: org. ...

  9. windows 运行hadoop的WordCount报nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)

    window eclipse连接hadoop集群,本地运行wordcount,报以下错误,尝试网络上的方法无果,如:换64JDK,添加hadoop_home,path,以及在hadoop\bin和c: ...

随机推荐

  1. 任意N个不同数的逆序对平均值

    在学习数据结构的时候看到了以下定理: 但是老师并没有解释,本着钻研的精神决定搞清楚为什么是这个数. 在百度 google一番之后并没有找到,决定自己试着证明. 最开始走了一些弯路,但突然灵光一闪很容易 ...

  2. 安装Linux虚拟系统

    VMWare创建虚拟机与Linux系统的安装 准备工作:VMWare虚拟机,Linux系统镜像 创建好虚拟机之后就可以进入Bios(Basic input ouput system)界面设置安装引导顺 ...

  3. ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)

    本文通过一张图来看一下路由的配置以及请求处理的机制.(ASP.NET Core 系列目录) 一.概述 路由主要有两个主要功能: 将请求的URL与已定义的路由进行匹配,找到该URL对应的处理程序并传入该 ...

  4. Angular CLI 升级 6.0 之后遇到的问题

    Angular CLI 1.7.4 在使用 ng build --prod 会构建失败,而 ng build 是正常的.比较好的解决办法是使用 ng build --prod --extract-li ...

  5. Web前端之iframe详解

    iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了. <iframe src="demo_iframe_sandbox.htm" ...

  6. python在linux中用setproctitle自定义进程名

    在linux中,如果想用python自定义进程名,需要用到第三方库setproctitle. #coding:utf8 import setproctitle setproctitle.setproc ...

  7. 初识Haskell 五:自定义数据类型和类型类

    对Discrete Mathematics Using a Computer的第一章Introduction to Haskell进行总结.环境Windows 自定义数据类型 data type de ...

  8. 【问题解决方案】查看Python安装了哪些库(pandas, matplotlib等等)

    查看方法: 一句命令:cmd打开终端后键入pip list END

  9. Ubuntu常用软件

    //latex公式识别 sudo snap install mathpix-snipping-tool //markdown # or run: # sudo apt-key adv --keyser ...

  10. cesium-navigation 使用(非require,es6引用)

    cesium-navigation-es6(非require,es6引用) 为什么你建立cesium-navigation插件? 插件形式不影响之前项目使用,es6 使用 首先,所有的Cesiumjs ...