我写了一个包含mutiple select
的jsp代码,当我点击提交时,我得到了null pointer exception
。我正在使用request.getParametervalues()
从多个选择中获取数据:
jsp代码如下
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page language="java" import="java.lang.* ,javax.servlet.*,javax.servlet.http.*"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form id="form1" method="get" name="form">
<select name="color1" id="dd1" multiple>
<option value="empty">Select Color</option>
<option value="RED">red</option>
<option value="BLUE">blue</option>
<option value="GREEN">green</option>
<option value="YELLOW">yellow</option>
<option value="PINK">pink</option>
<option value="BLACK">black</option>
<option value="BROWN">brown</option>
<option value="PURPLE">purple</option>
</select>
<input type="submit" value="Submit">
</form>
</body>
</html>
<%
String [] x = request.getParameterValues("color1");
if(!x.equals(""))
{
for (int i = 0; i < x.length; i++)
out.println (x[i]);
}
%>
我在out.println (x[i]);
部分得到空指针异常
我也尝试了if(x ! = null)
给出了错误
我也试过这个:
if(request.getParameterValues("color1").equals(null))
{
out.println("abcd");
}
它给出了同样的例外
答案 0 :(得分:0)
在scriplet
if(request.getParameterValues("color1")!=null){
//Go On
}
由于您的select
处于相同的.jsp
状态,等等启动加载,它肯定会为您提供null
。
<select name="color1" id="dd1" multiple>
此外,您正在将array
与""
if(!x.equals("")) //No use Check for Not Null
if(x!=null)//Cahange this
如果您正在使用表单,为什么不在 Servlet
中传递请求并执行检查和其他内容。