request.getParameterValues 出现 [Ljava.lang.String;@ 错误

在实现简单的本地登录系统时,需要把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>

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

以后千万长记性嗷!!

 

转载于:https://www.cnblogs.com/xuango/p/10655868.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值