String[] strCode=null;  //----问题从此开始,下面的无法执行了。
   if(check1.equals("ok")&&check2.equals("ok")){
      strCode[0] = request.getParameter("Code1");
      strCode[1] = request.getParameter("Code2");
    }
不定义就赋值?
String[] strCode=new String[2];

解决方案 »

  1.   

    String[] strCode;// equals()与==的比较
    /* 理解equals()方法和 == 运算符执行的是两个不同的操作是重要的。
       equals()方法比较字符串对象中的字符。而==运算符比较两个对象引用看它们是否引用相同的实例。例如: */
    class EqualsNotEqualTo {
    public static void main(String args[]) {
    String s1="Hello";
    String s2=new String(s1);
    System.out.println(s1 + " equals " + s2 + " -> " + s1.equals(s2);
    System.out.println(s1 + " == " + s2 + " -> " + (s1==s2));
    }
    }
    /* 变量s1指向由"Hello"创建的字符串(String)实例。s2指向的对象是以s1作为初始化而创建的。
       因此这两个字符串对象的内容是一样的。但是它们是不同的对象,这就意味着s1和s2没有指向同一的对象,因此它们是不==的。执行结果如下:
       Hello equals Hello -> true
       Hello == Hello -> false */
      

  2.   

    但我不能确定strCode开始的长度呀,得到参数进行判断后,方可知道,有可能为一,有可能为二.如果check1.equals("ok")&&check2.equals("ok") 则 strCode.length ==2;如果if((check1.equals("ok")&& !check2equals("ok"))||(!check1.equals("ok")&&check2.equals("ok"))  则strCode.length==1.
      

  3.   

    null值是不可以调用任何内部方法的。check1,check2的值最好也作判断!
    可以修改如下再试试:
    <jsp:useBean id="cateogry" scope="session" class="net.corp2b.fortress.apps.system.utils.beans.CategoryBean"/>
    <%
       int intstrCodeLength=0;
       String pageNo = request.getParameter("pageNo");
         System.out.println("in Category_ok li get pageNo is ====="+ pageNo);
       String check1 = request.getParameter("checkbox1");
       if(check1==null)
       {
          check1="";
       }
       intstrCodeLength=(check1.equals("ok")?intstrCodeLength+1:intstrCodeLength);
         System.out.println("in Category_ok li get  checkbox1 value is ====="+ check1);
       String check2 = request.getParameter("checkbox2");
       if(check2==null)
       {
          check2="";
       }
       intstrCodeLength=(check2 .equals("ok")?intstrCodeLength+1:intstrCodeLength);
         System.out.println("in Category_ok li get  checkbox2 value is ====="+ check2);
          String[] strCode=new strCode[intstrCodeLength];  //----问题从此开始,下面的无法执行了。
       if(check1.equals("ok")&&check2.equals("ok")){
          strCode[0] = request.getParameter("Code1");
          strCode[1] = request.getParameter("Code2");
        }
        if(!check1.equals("")&&check2.equals(""))
          strCode[0] = request.getParameter("Code1");
        if(check1.equals("")&&!check2.equals(""))
           strCode[0] = request.getParameter("Code2");
        
        if(strCode.length !=0){
           cateogry.deleteCategory(strCode);
    %>
    <jsp:forward page="../jsp/Category.jsp"/>
    <jsp:param name="pageNo" value="pageNo"/>
    <%
      }
      else{
     %>
    <jsp:forward page="../jsp/Category.jsp"/>
    <jsp:param name="pageNo" value="pageNo"/>
    <%
     }
    %>