漏了一句,在for循环中
out.print (str_type);

解决方案 »

  1.   

    页面的选择框出来的总是第一个类型空调普快,没有默认传递过来的值,调试发现其中在if语句中true的情况没有,我快昏倒,我的值传的都属于这个数组
      

  2.   

    修改:train_type=requst.getParameter("train_type");out.println("<select name=\"train_type\" size=\"1\" ");
    String Ty[]=new String[6];
    Ty[0]="";
    Ty[1]="空调快速";
    Ty[2]="快速";
    Ty[3]="空调普快";
    Ty[4]="普快";
    Ty[5]="普慢";
    for(int j=0;j<6;j++)
    { if(train_type.equals(Ty[j]))
    {out.println("<option value="+train_type+" selected>"+train_type+"</option>");
    }
     else
        {out.println("<option value="+Ty[j]+">"+Ty[j]+"</option>");}
    }
    out.println("</select>");
      

  3.   

    你传的是中文要转换.train_type=requst.getParameter("train_type")==null?"":requst.getParameter("train_type") ;
    train_type = new String(train_type.getBytes("8859_1"),"gb2312");out.println("<select name=\"train_type\" size=\"1\" ");
    String Ty[]=new String[6];
    Ty[0]="";
    Ty[1]="空调快速";
    Ty[2]="快速";
    Ty[3]="空调普快";
    Ty[4]="普快";
    Ty[5]="普慢";
    for(int j=0;j<6;j++)
    { if(train_type.equals(Ty[j]))
    {out.println("<option value="+train_type+" selected>"+train_type+"</option>");
    }
     else
        {out.println("<option value="+Ty[j]+">"+Ty[j]+"</option>");}
    }
    out.println("</select>");
      

  4.   

    try:0701.jsp<%@ page contentType="text/html;charset=gb2312"%>
    <%
    String train_type=request.getParameter("train_type")==null?"":request.getParameter("train_type") ;
    train_type = new String(train_type.getBytes("8859_1"),"gb2312");out.println("<select name=\"train_type\" size=\"1\" ");
    String Ty[]=new String[6];
    Ty[0]="";
    Ty[1]="空调快速";
    Ty[2]="快速";
    Ty[3]="空调普快";
    Ty[4]="普快";
    Ty[5]="普慢";
    for(int j=0;j<6;j++){
    if(train_type.equals(Ty[j])){
    out.println("<option value="+train_type+" selected>"+train_type+"</option>");
    }
     else{
     out.println("<option value="+Ty[j]+">"+Ty[j]+"</option>");
     }
    }
    out.println("</select>");
    %>
    <a href="0701.jsp?train_type=快速">快速</a>
      

  5.   

    奇怪,我在代码中加了一句String tt="1";
    if ()
    {out.print();
     tt="0";}
    else
    {}
    out.print (tt);结果tt=1
    气死我也,学jsp比学asp好象多很多烦恼,逻辑没有问题的他也出错
    最可气的是,有时候根本没有错的,调试无论如何都不通过,隔天在试就过了,只有做无数的备份,反复调试,哎
      

  6.   

    说明if条件内没有执行,既条件不成立 。train_type=requst.getParameter("train_type")==null?"":requst.getParameter("train_type") ;
    train_type = new String(train_type.getBytes("8859_1"),"gb2312");out.print("train_type=="+train_type) ;//输出train_type看是什么?out.println("<select name=\"train_type\" size=\"1\" ");
    String Ty[]=new String[6];
    Ty[0]="";
    Ty[1]="空调快速";
    Ty[2]="快速";
    Ty[3]="空调普快";
    Ty[4]="普快";
    Ty[5]="普慢";
    for(int j=0;j<6;j++)
    { if(train_type.equals(Ty[j]))
    {out.println("<option value="+train_type+" selected>"+train_type+"</option>");
    }
     else
        {out.println("<option value="+Ty[j]+">"+Ty[j]+"</option>");}
    }
    out.println("</select>");
      

  7.   

    Andrawu(Andrawu) 的程序是完全可以的,老兄在try it!
      

  8.   

    看看train_type=requst.getParameter("train_type");
    是否存在得到的参数后面有空格或其它不可见的符号。
      

  9.   

    多谢,不知道为什么还是没有通过,不过为了交工,我采取了一个令人气馁的方法:
    for (int j=0;j<6;j++)
    { out.println("<option value="+Ty[j]+">"+Ty[j]+"</option>");
    }
    out.println("<option value="+train_type+"selected>"+train_type+"</option>");
    out.println("</select>");haha,准备结萜给分