如果你设置“检查数据”这个提交按钮的话是可以的,这样输入一个数据之后就提交一次,然后刷新这个页面。然后把数据库查询的结果保存在一个ArrayList里面,然后初始化select<%
out.print("<select name='mySelect'>");
for(Iterator i =l.iterator();i.hasNext(); ) {
Object data=i.next();//得到一条数据,这里我先写成Object,可能你到时候就是String
out.print("<option value='" + data + "'>" + data + "</option>");
}
out.print("</select>");
%>

解决方案 »

  1.   

    你要加入列表框的是输入的内容,所以把列表框中的值放在session里面,
    在之前的servlet中加入
    session.setAttribute("selectList",list);在下一个页面中加入下面代码就行了
    List list = session.getAttribute("selectList");
    if(seleted){  //检到数据的场合
      list.add(request.getParameter("text"));
    }
    然后调用上面那位朋友的写法,就可以了。
      

  2.   

    方法1:
    在提交之前, 使用javascript将select中的内容全选. 这样就可以提交select中的全部内容(当然, select的multiselect属性必须得事先设置好)方法2:
    用隐藏的多选框. select中有多少个item, 就有多少个多选框(全部选中), 在提交时, 只关心多选框里的数据就可疑了...然后,
    <%
    String[] valuesFromSelect = (String[])request.getParameter ("j s p 中定义的select的名字");
    // 此时valuesFromSelect中的值就是select中提交的值.
    if (valuesFromSelect!=null)
    {
        int length = valuesFromSelect.length;
        int i = 0;
        for (i=0; i<length; i++)
        {
            //你输出一下看看对不?
            // System.out.println (i+": "+valuesFromSelect[i]);
        }
    %>
      

  3.   

    回复人: jFresH_MaN(Contributing to Eclipse) 
    大哥用你的方法不行呀!輸出結果為更表框中的值不能自動增加,每一次都是替換每一個值呀,是不是要設置下列表框的某個屬性呀,路過的朋友也幫我看看,急呀,在線等
    <%@ page contentType="text/html; charset=Big5" %>
    <%@ page import="java.util.*"%>
    <%@ page import="crystalreports.*" %>
    <html>
    <body>
    <%
    OperaterList list = new OperaterList();
    list.setList(request.getParameter("text"));
    %>
    <form action="" name="form" method="POST">
     輸入一個數:
    <input type="text" name="text" value="">
    <input type="submit" value="sumbit">
    </form>
    <%
    Vector vec = new Vector();
    vec = list.getList();
    out.print("<select name='list' multiple='multiple'>");
    for(int i = 0;i<vec.size();i++) {
    out.print("<option value='" + (String)vec.elementAt(i) + "'>" + (String)vec.elementAt(i)+ "</option>");
    }
    out.print("</select>");
    %>
    </body>
    </html>OperaterList.java代碼
    package crystalreports;
    import java.util.*;public class OperaterList {
      Vector list = new Vector();
      public Vector getList(){
        return list;
      }
      public void setList(String s){
       list.add(s);
      }
    }
      

  4.   

    用js先检查一下 select是否存在文本的值
    不存在的话 再去查询数据库 可以考虑用xmlhttp