form 对象如何得到数据库的记录,绑定到 下拉列表中...

解决方案 »

  1.   

    好像是 hashmap 但不会用
      

  2.   

    我有asp版本的,java的没有,楼主要的话可以给我留言
      

  3.   

    把form封到 arraylist 里面
      

  4.   


    ArrayList alValue = new ArrayList();
    读取结果集放到
    while (rs.next()) {
      alValue.add(value);
    }定义变量生成下拉
    StringBuffer buffer = new StringBuffer("");
    for (int i = 0; i < alValue.size(); i++) {
    buffer.append("<option value='" + (String) alValue.get(i) + "' selected>" + (String) alValue.get(i) + "</option>\n");
    }大体思路就是这么写,自己实现一下把
      

  5.   

    如果是用STRUTS需要在CONFIG中配置一下即可
    如果是用JSP直接取,跟"lsj19830812(李逵) "说得差不多,或者直接在页面中写
      

  6.   

    ***********jsp页面*************
    showuser.jsp<html:select property="userid">
    <html:options collection="userarray" property="userid" labelProperty="username" />
    </html:select>************Action**************
    public ActionForward showUser(ActionMapping arg0, ActionForm arg1,
    HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
    UserForm form = (UserForm) arg1;
    UserModel model = new UserModel();
    arg2.setAttribute("userarray", model.getAllUser(this
    .getDataSource(arg2, "myds"))); return arg0.findForward("showuser");
    }
    *************Model*************
    public ArrayList getAllUser(DataSource ds) {
    String sql = "select * from user"; DbManager manager = null;
    try {
    manager = new DbManager(ds.getConnection());
    ResultSet rs = manager.execQuery(sql); ArrayList array = new ArrayList();
    while (rs.next()) { UserForm form= new UserForm();
    form.setUserid(rs.getInt("userid"));
    form.setUsername(rs.getString("username"));
    array.add(form);
    }
    rs.close(); return array;
    } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    } finally {
    manager.close();
    }
    return null;
    }
      

  7.   

    <select name="courseName">
    <%
    List list = (new CourseDB(CLASSFORNAME,SERVANDDB,USER,PWD)).getCourseName();
    Iterator it = list.iterator();
    while(it.hasNext())
    {
    CourseID courseID = (CourseID)it.next();
    %>
    <option value=<%=courseID.getCourseID()%>> <%=courseID.getCourseName()%> </option>
    <%}%>

    %>
    </select>
    // 获取数据库中,所以课程的名称
    public List getCourseName() throws Exception 
    {
    List list = new ArrayList();
    try
    {
     statement = con.createStatement();
     rs   = statement.executeQuery("select courseID,courseName from courseIDToName");
     int course_id_count = 0;
     if(rs.next())
    {
     course_id_count = rs.getInt(1);
     rs.close();
    } if(course_id_count > 0)
    {
    rs = statement.executeQuery("select courseID,courseName from courseIDToName");
    while ( rs.next() )
       {
      CourseID courseID = new CourseID();
      courseID.setCourseID(rs.getString("courseID"));
      courseID.setCourseName(rs.getString("courseName"));
      list.add(courseID);
       }
    }
     
    }
    catch ( Exception e )
    {
    e.printStackTrace();
    }
    finally
    {
    rs.close();
    statement.close();
    con.close();
    } return list;
    }
      

  8.   

    写一个方法,该方法从数据库里取出数据,放在list里,然后在JSP页面中调用此方法,遍历返回的list就可以了,你把我上面的代码稍微改改就能用了。
      

  9.   

    读取结果集放到
    <select name="">
    <%while (rs.next()){%>
      <option value="<%=这里是从数据库里读出来的数值%>"><option>
    <%}%>
    </select>
      

  10.   

    <option value="<%=在这里写上列名就OK了%>"><option>