<select name="xb" >
            <% 
            while(It.hasNext()){
             Code code =(Code)It.next();
             if("男".equals(code.getNAME().trim())){
             out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
             //continue;
             }else if("未知".equals(code.getNAME().trim())){
             //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
             }else{
             out.print("<option value='"+code.getCODE()+"'>"+code.getNAME()+"</option>");
             }
            } 
            %>
            </select>
else if("未知".equals(code.getNAME().trim()))加了这行判断就定位不到男 不加是可以的这是什么原因???

解决方案 »

  1.   

    代码肯定没有问题,怀疑是你的输入It发生变化了
    在while中跟踪一下
      

  2.   

     if("男".equals(code.getNAME().trim())){
                        out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                        //continue;
                    }else if("未知".equals(code.getNAME().trim())){
                        //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
    两个都选中了,当然只能定位一个了。
      

  3.   

     <select name="xb" >
                <% 
                while(It.hasNext()){
                    Code code =(Code)It.next();
                    if("男".equals(code.getNAME().trim())){
                        out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                        //continue;
                    }else if("未知".equals(code.getNAME().trim())){
                        //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                    }else{
                        out.print("<option value='"+code.getCODE()+"'>"+code.getNAME()+"</option>");
                    }
                } 
                %>
                </select>
      

  4.   

    else if("未知".equals(code.getNAME().trim()))加了这行代码它反正定位是女不管怎么判断..很郁闷...求解
      

  5.   


    你的code.getCODE()都是啥值,是不是没有‘未知’啊
      

  6.   

    <select name="xb" >
                <% 
                while(It.hasNext()){
                    Code code =(Code)It.next();
                    if("男".equals(code.getNAME().trim())){
                        out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                        //continue;
                    }else if("未知".equals(code.getNAME().trim())){
                        //out.print("<option value='"+code.getCODE()+"' selected >"+code.getNAME()+"</option>");
                    }else{
                        out.print("<option value='"+code.getCODE()+"' selected>"+code.getNAME()+"</option>");
                    }
                } 
                %>
                </select>
      

  7.   

    你到底是只想选中一个还是选中多个?如果是要选中多个在Select里加上 multiple="true" 就可以多选 ,就不会出现后面选中的把前面的给毙掉了。