request.getParameterValues得到的数据有空值,正好这个字段在数据库中是可空的

解决方案 »

  1.   

    TO:SHAOPIN
    如何解决这个问题
    如果不用 getParameterValues,还有其他办法否?
    THX
      

  2.   

    field.length这里肯定用得对?
    它的值会自动帮分开两个值吗?
    要想一想!
      

  3.   

    for(int i=0;i<field.length;i++)
    {if(i=0) number=field[0];
     else if(i=1) name=field[1];
    }是不是你将 ==  写成 = 了?
      

  4.   

    表单页面:
    有n个同名的字段<input name=field />我说处理字段:
    PostServletString[] f = request.getParameterValues("field");int len = f.length;for ( int i = 0; i < len; i++){
     out.println(f[i]+"<br>");
    //也可以直接把sql语句写在这里啊!
    }单独提取时,必须要在这里这样定义。
    String name = "";
    String email = "";
    String pid="";
    String  fuck="";
    //for begin.......
    for ( int i = 0;i < len;i++ ){
     name = f[0];
     email = f[1];
    pid = [2];
    fuck = [3];
    }//for end然后才可以在 for的外面调用啊
    out.println(name+email+pid+fuck);-----------------------
      

  5.   

    String soft_sys="";
     int len=s_sys.length;
     for(I=0;I<len;I++){
     soft_sys+=s_sys[I];
     if(I!=len-1)
     soft_sys+="/";
      }
      

  6.   

    TO:aleccheung(浪子狂人) 
    你的方法和我设想的一样,我也TRY了一下,
    但是运行后不对呀,NullPointerException error
    请大家帮忙解释一下TO:yun15291li
    你的意思是将将s_sys[]中的值取出来,连在一起吧我的目的是将field[]中的值取出来分别赋给name,equipment
    然后利用insert into database values('+name+','+equipment+'。
    写入数据库
      

  7.   

    NullPointerException error这种情况跟一下,就能找到问题在那里了。
    看看field[]是不是没取到值?另外,建议不要使用这种方法,还是将界面中input域命上名字比较好
      

  8.   

    你是什么容器呢?
    我在jb5/resin2.1.4下都可以啊!
    你不单独提取直接for println出来也提示错误吗?
      

  9.   

    TO: aleccheung(浪子狂人) 
    tomcat
    不取出来 ,用OUT。PRINTLN 在JB6下也会出错的
    但是开启TOMCAT ,在WEB中却可以显示出的
      

  10.   

    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class CheckValuesServlet extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GBK";
      /**Initialize global variables*/
      public void init() throws ServletException {
      }
      /**Process the HTTP Get request*/
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>CheckValuesServlet</title></head>");
        out.println("<body>");
        out.println("<form action=\"\" method=\"post\">");
        out.println("user:<input name=field size=14 /><br>email:<input name=field /><br>");
        out.println("No.<input name=field size=14 /><br>");
        out.println("<input type=submit value=Submit /></form>");
        //out.println("<p>The servlet has received a GET. This is the reply.</p>");
        out.println("</body></html>");
      }
      /**Process the HTTP Post request*/
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>CheckValuesServlet</title></head>");
        out.println("<body>");
        String f[] = request.getParameterValues("field");
        String name="";
        String email="";
        String pid="";     int len=f.length;
         for ( int i = 0; i < len; i++){
           //out.println(f[i]+"<br>");
             name = f[0];
             email = f[1];
             pid = f[2];
             //out.println(name+"<br>"+email+"<br>"+pid); 在内部引用
         }
         out.println(name+"<br>"+email+"<br>"+pid);
        out.println("</body></html>");
      }
      /**Clean up resources*/
      public void destroy() {
      }
    }
    /////////////
    把以上代码放到WEB-INF/classes/
    下 编译后看看,我试验了完全可以啊!
    http://cheung.cxc.cc/servlet/study.ch2.CheckValuesServlet
    你测试一下,我在window2k+JB5 和 window2k+resin2.1.4+jdk1.3 和linux+resin2.1
    下都可以啊。
    你是不是写错了。
      

  11.   

    tO  aleccheung(浪子狂人):
    thank u ,i'll try