String searchkey = request.getParameter("searchkey");
String searchtype = request.getParameter("searchtype");改为
String[] searchkey=request.getParameterValues("searchkey");
String[] searchtype = request.getParameterValues("searchtype");if (searchkey==null){
  }

解决方案 »

  1.   

    request.getParameterValues看名称就知道是取得请求参数的值的意思,
    但这个参数有可能有很多个值,如searchkey="aaa"&searchkey="bbb"&.....
    所以要用数组可以包含指定参数的所有值
      

  2.   

    问题是我只传了一个值过去,searchkey = request.getParameter("searchkey");
    然后再if (searchkey==null),这里都过不去,真的很郁闷,你说正常的是不是这样的?我看别人的例子也是,但就是判断不行,或者是if (searchkey =="xxx"),我不知道这个东西传递值是以什么形式来传递的
      

  3.   

    equals也不行,它总是不执行if()程序段,而只执行else
    但我不知道是什么地方传值错误,让它总是忽略if(),比如我在表单中不填写searchkey这个文本框然后提交,结果还是       out.print(searchkey);
           searchkey = "ok";
    而不是:
    out.print("searchkey is null");
        
    我现在只是想明白里面的问题所在,
    象表单传值应该注意什么?
    对于传递过来的值是什么形式的,应如何处理?
    对不同的表单对象的值的处理是否是一样的radio,text,select,checkbox?
    为什么不能直接判断它是否==null?(=="")
    谢谢各位了!!!
      

  4.   

    试试这样写:
    if (searchkey == null || searchkey.equals(""))
      

  5.   

    哦,现在是我不能在公司试,只能回家再试,就按各位的方法,所以现在,我想大家能告诉我一些传递参数的思路和处理上的注意问题,可能我更喜欢“理论”,可以不写代码,THANK
      

  6.   

    我习惯这么写:
    String searchkey = (String)request.getParameter("searchkey");
    String searchtype = (String)request.getParameter("searchtype");
    然后:
    if (searchkey == null || searchkey.equals("")) {
    }
      

  7.   

    楼上的,request.getParameter("searchkey")返回的就是String类型,你再强制转化岂不是画蛇添足。如果有许多的同名的property,要用request.getParameterValues("searchkey")(比如说checkbox,mutipute的select等),如果其他的情况我建议用不同name的input来实现
    这样的话用request.getParameter("xxx")就可以了
      

  8.   

    searchtype =="all"改为searchtype.equals("all")
    ==""改为.equals("")
    应该就OK了!
      

  9.   

    谢谢各位,主要就是用了.equals("XXX")的方法,但我想了解一下,
       取一个从表单传递过来的单个值,不是有许多的同名的property的话:
      String strWord = request.getParameter("XXX");后,为什么不能用if (strWord =="XXX")
    来进行判断呢,我是刚入门的,尤其对那些函数知之甚少,我用ASP的时候,当然那玩意儿什么都不管,无论是String or int,就这么比,我想,语言虽然不同,大致的方法应该是一样的啊??就此一问,望解救,马上要结了
      

  10.   

    基本数据类型如int可以用==来判断,而对象用==判断的只是内存地址,用它的方法equals才是判断内容。
      

  11.   

    我一般也这么写
    String searchkey = request.getParameter("searchkey");
    String searchtype =request.getParameter("searchtype");
                     //在这里最好不要进行汉字处理了什么的if (searchkey == null || searchkey.equals("")) {
    }字符串的比较应该用equals或者compareTo
      

  12.   

    收到,JSP,靠,唉,规矩真多,有点想ASP了