代码如下:
<select name="Format"  value="<%=format%>">
<%
   Res_MediaFormat res_mediaFormat = new Res_MediaFormat();
   List formatList = res_mediaFormat.findAll();
   for(int i = 0;i<formatList.size();i++){
    out.println("<OPTION value='"+formatList.get(i)+"'>"+formatList.get(i)+"</OPTION>");
   }
%>
</select>
显示出来的不是我设置的值,被我for循环里面的值给覆盖了,但是看页面的代码value里的值是<%=format%>,我怎么让它能显示出来呀?

解决方案 »

  1.   

    if(formatList.get(i).equals(format))
       out.println("<OPTION value='"+formatList.get(i)+" selected"+"'>"+formatList.get(i)+"</OPTION>");
    else out.println("<OPTION value='"+formatList.get(i)+"'>"+formatList.get(i)+"</OPTION>");
      

  2.   

    <select name="Format">
    <%
       Res_MediaFormat res_mediaFormat = new Res_MediaFormat();
       List formatList = res_mediaFormat.findAll();
       for(int i = 0;i<formatList.size();i++){
        out.print("<OPTION value='"+formatList.get(i)+"'");
        if(formatList.get(i).equals(format)) out.print(" selected");
        out.print(">"+formatList.get(i)+"</OPTION>");
       }
    %>
    </select>
      

  3.   

    这样改变select的值不会改变selected的
    你应该将option selected.