<select name="CXSZ" id="CXSZ">
      <%
        DbConnection dbconn=new DbConnection();
        if(dbconn.openConnection())
        {
            try
            {
                String sql="select * from DM_ZSXM";
                ResultSet rs=dbconn.executeQuery(sql);
                while(rs.next())
                {
out.println("<option value="+rs.getString("ZSXM_DM")+">"+rs.getString("ZSXM_MC")+"</option>");
                }
            }catch(SQLException e)
            {
                e.printStackTrace();
            }finally
            {
                try
                {
                    dbconn.rsclose();
                    dbconn.close();
                }catch(Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
%>
    </select>

解决方案 »

  1.   

    和,怎么和我问了一个一样的问题,我给你代码:刚刚改的,不知道对不对:
    package NSPG;import javax.naming.*;
    import javax.servlet.http.*;
    import javax.sql.*;
    import java.sql.*;public class SWJG_JBXX_Bean extends ProcessData {
    }
      public SWJG_JBXX_Bean() {
      public void execute(HttpServletRequest request, HttpServletResponse response, Status status) throws java.lang.Exception {
        try
        {
          InitialContext ic = new InitialContext();
          DataSource dataSource = (DataSource) ic.lookup("RegistrationJDBC");
          Connection conn = dataSource.getConnection();
          Statement statement = conn.createStatement();
          ResultSet rs = statement.executeQuery("select 字段名 from 表");      
          out.println("<select name=list>");
        }
    //下面的东西最好放入JSP文件中去
          while(rs.next())
          { 
            out.println("<option  value=" + rs.getString("字段名") + ">" + rs.getString("字段名") + "</option>");
            
           }
          out.println("</select>");
         rs.close();
          statement.close();
          conn.close();
        }
        catch(Exception e){
         System.out.println(e);
        }
        }
    }
      

  2.   

    谢谢两位了,可能是我的意思未表达清楚,我的意思是这样的:
    页面A.jsp有一个多行列表框且被赋值(通过以上方法),我要在另外一个JSP页面B.jsp中获取A.jsp中的多行列表框的值,不知怎么获取啊?
      

  3.   


    Enumeration enum = getParameterNames();
    while (enum.hasMoreElements()) {}
      

  4.   

    String[] values = request.getParameterValues("listname");
    这样就可以了。
      

  5.   

    1. 多行列表框有一组值,我要通过在JSP〈% %〉中获取,不是通过javaScript获取;
    这个用 getParameterValues 是最简单方便的。为什么不用呢?2. JSP 中似乎无法获取 JavaScript 中定义的数组,不过你可以把 JS 中定义的数值,其值赋给一个 hidden 组件,再用 JSP 获取。
      

  6.   

    如果是几个相同的表单控件,通过String[] values = request.getParameterValues("listname")获取
    是个好方法,但是JS中的数组通过String[] values = request.getParameterValues("listname")获取似乎不行,values.length的长度总是为1,返回值只能得到一个字符串;