0 0

request.getParameterValues()问题0

在一个JSP页面中,多个<input>的name一样,在servlet中用Map<Integer,String[]> map = new HashMap<Integer, String[]>();
map.put(id, request.getParameterValues(idStr));//这里的idStr就是
                                                //<input> 的name
为什么
for(int i=0;i<map.size();i++){
System.out.println(map.size());
System.out.println(map.get(i).length);
/*for(int j=0;j<str.length;j++){
System.out.println(str[j]);
}*/
}
会报错?
2013-8-22 16:33:41 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet AddAnswerSheetServlet threw exception
java.lang.NullPointerException
	at com.answerSheetServlet.AddAnswerSheetServlet.doPost(AddAnswerSheetServlet.java:93)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.util.ChinaFilter.doFilter(ChinaFilter.java:16)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
	at java.lang.Thread.run(Thread.java:619)
2013年8月22日 16:48

2个答案 按时间排序 按投票排序

0 0

采纳的答案

String langtype[]=request.getParameterValues("idStr");

for (int i=0;i<size;i++)
{
    out.println(langtype[i]+"");
}

上面是循环输出

你for  循环 map 要这么写。
Map<Integer,String> map = new LinkedHashMap<Integer,String>();
map.put(1, "星期一");
map.put(2, "星期二");
map.put(3, "星期三");
map.put(4, "星期四");
map.put(5, "星期五");
map.put(6, "星期六");
map.put(7, "星期日");

for(Map.Entry<Integer, String> entry: map.entrySet()) {
System.out.print(entry.getKey() + ":" + entry.getValue() + "\t");
}

2013年8月22日 16:56
0 0

map.put(key,value);
value=map.get(key);


map.put(id, request.getParameterValues(idStr));
for(int i=0;i<map.size();i++){
System.out.println(map.size());
System.out.println(map.get(i).length);
}

你上面的id=0吗?不然的话map.get(i)也就是map.get(0)是null,null也就不能length。List才是get(0),get(1)这样

2013年8月22日 17:12

相关推荐

    j2ee期末复习资料

    C.request.getParameterValues(name) D.request.getParameterValues("name") 3.使用 response 对象进行重定向时,使用的是(c )方法。 A.getAttribute B.setContentType C.sendRedirect D.setAttribute

    request.getParameterMap()返回的是String []数组1

    getParameter()获得的是String类型,多个参数名相同默认获取第一个getParameterValues()获得的是数组,多个参数名相同时,值在同

    数据库测试test.sql

    String [] hobbyArr = request.getParameterValues("hobby"); String strDate = request.getParameter("enterDate");//"1999-12-23" Date enterDate = Date.valueOf(strDate); //util.Date SimpleDateFormat /...

    jsp解析

    jsp指令:&lt;%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%&gt; jsp中的内置对象 &lt;form method="post" action="hao.jsp"&... String[] names=request.getParameterValues(""); 转发,可以保留值:

    jquery ajax 向后台传递数组参数示例

    只能用request来接收,request.getParameterValues()方法返回的是一个String[],所以,应该是在前台传输的时候调用了对象的toString()方法,那么如果依然想传递对象怎么办?凉拌! 但是可以使用JSON字符串来实现,在...

    private2private2private2

    String[] ysxx_nl_years = request.getParameterValues("ysxx_nl_year"); //出生年 String[] ysxx_nl_mons = request.getParameterValues("ysxx_nl_mon"); //出生月 String[] ysxx_zcs = request....

    privateprivateprivateprivate

    String[] ysxx_names = request.getParameterValues("ysxx_name"); // 姓名 String[] ysxx_sexs = request.getParameterValues("ysxx_sex"); // 性别 String[] ysxx_nls = request.getParameterValues("ysxx_...

    潍坊学院成人教育Java-Web程序设计B卷试卷及参考答案.doc

    request.getParameterValues("aihao").length D. request.getParameterValues("aihao").size() 7. ______标签用于定义表格、行和单元格。 A. tbody tr td B. table row cel C. table tr td D. table th td 8. JSP...

    实践考核类课二 选课系统

    String[] list=request.getParameterValues("chooselist"); for(int count=0;count&lt;list.length;count++){ StudentDAO stu=new StudentDAO(); Student student=new Student(); Beans.ChooseClass choose=new ...

    MyEclipse中文字过滤器

    public Request(HttpServletRequest request) { super(request); } public String toChi(String input) { try { byte[] bytes=input.getBytes("IS08859-1"); return new String...

    java servlet 监听器

    HttpServletRequest request2 = (HttpServletRequest) request; if (request2.getMethod() == "post") { request2.setCharacterEncoding(encoding); } else { myRequest = new MyRequest(request2); }...

    servlet2.4doc

    The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet...

    客户端模拟服务器端的Request发送和获得参数

    //Request开放接口给外部,提供两个接口:getParameter和getParameterValues //这样外部的JavaScript文件就可以通过调用Request.getParameter()来执行相应的动作 Request = { getParameter:getParameter, ...

    Jsp中request的3个基础实践

    本文包含request内置对象的使用、乱码处理的两种方法、使用request.getParamter()方法获取表单提交的数据、采用request对象通过getParameter()方法和getParameterValues()方法获取表单请求数据、使用request内置对象...

    javascript 实现输入多行动态输入

    这里我又去看书(servlet 和 JSP 核心编程,极好的一本书,该讲的都讲了,读明白了它servlet/JSP也就可以说精通了)p70页里面:getParameterValues()返回字符串数组,然后我们用循环判断这个字符串数组的长度,再就是获得值...

    EL表达式 (详解)

    request.getParameterValues(String name) 在EL中则可以使用param和paramValues两者来取得数据。 ${param.name} ${paramValues.name} 3.其他隐含对象 1)cookie JSTL并没有提供设定cookie的动作, 例:要...

    模拟tomcat源码

    自己写的一个模拟tomcat,模拟了tomcat的一部分功能,包过request 的getParameter、getParameterValues,response的getWriter,doget,dopost..

    jspsmart.jar包及帮助文档

    只所以提供这个类,是因为对于文件上传表单,通过request对象无法获得表单项的值,必须通过jspSmartUpload组件提供的Request对象来获取。该类提供如下方法: 1、getParameter 作用:获取指定参数之值。当参数不...

    JAVA程序员面试题

    getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串 getRequestURI():获取发出请求字符串的客户端...

    java 面试题 总结

    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...

Global site tag (gtag.js) - Google Analytics