代码:
 <select name="sche">
                        <%     try{
                              CAlbumdao albumdao=new CAlbumdao();
                               List list=albumdao.queryAlbum();
                              if(list==null||list.size()==0)
                                {
                               System.out.println("<script>alert('没有数据!')</script>");
                             }
                             else 
                            {
                            for(int i=0; i<list.size();i++)
                   {
           CAlbum album=(CAlbum)list.get(i);
                      %>
       <option value="<%=album.getStr_Aname()%>" selected><%=album.getStr_Aname()%></option>
 <% }
      }
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }
       %>
                        </select>   进行添加时  数据库中的字段显示的事空字符串  怎么回事

解决方案 »

  1.   

    这跟select标签没关系吧
    是不是album.getStr_Aname()的值本身就是空啊
      

  2.   

    这逻辑也不对吧?
    看你这一句:<option value="<%=album.getStr_Aname()%>" selected><%=album.getStr_Aname()%></option>
    每个option都是selected状态~如果想查看数据库中为什么是空字符串的话,建议在后台的request.getParameter("sche");打印下接受到的数据,查看下是否接到数据了,如果接收到了那就找插入的问题,没接收到就是传值的问题咯。
      

  3.   

    说的对,逻辑有点问题
    应该是与一个现有的值进行比较
    String aname=....
    .....
    <option value="<%=album.getStr_Aname()%>" <%if(aname.equals(album.getStr_Aname())){out.print("selected");}%> ><%=album.getStr_Aname()%></option>
      

  4.   

    入库的时候看看业务逻辑方法为什么存入数据库的是空串,然后解决好了,这个select就相应可以出来了。