jsp表单中如何动态的获取select的值,就是用三层架构写了个提交表单,其中有一个下接框,这个下拉框对里面的值想从数据库中查出来
,页面上不要写连接数据库的代码

解决方案 »

  1.   

    就是当页面载入时,这个select 正好获取动态的值
      

  2.   

    汗了。。没看清 其实用一个Servlet jsp页面用jstl标签就能实现
    跳转到这个jsp页面前 查询数据库 把所有要填充的数据集作为请求范围内参数
    请求转发到该jsp页面
    用jstl迭代输出 
    <select>
    <c:forEach var="item" items="${requestScope.参数名}"> 
    <option value="${item}">${item}
    </c:forEach>
    </select>
      

  3.   

    有三种方式:
    1.用ajax
    2.如果用到了struts2框架,直接用标签
    3.如果没有用框架,那就用jstl
      

  4.   


    用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面
      

  5.   


    用jstl是不是一个引用一个Servlet,以一个.do的形式打开这个提交页面
      

  6.   

    没错
    转到这个jsp页前 定向到一个Servlet 查询数据库后 返回jsp地址进行显示
      

  7.   

    在jsp页中调用一个java类是怎么调的
      

  8.   

    在servlet中封装成集合数据,反馈到jsp页面进行遍历读取,即可。
    lz所问的调用 Java 类,具体是要实现什么?
      

  9.   

    ajax 前台传入url 到后台 后天接受url里面的参数进行处理 然后回调函数 将后台传回的数据 依次赋给前台的 select 就可以了 见下面的代码: <script type="text/javascript" src="js/jquery-1.2.6.js"></script>
    <script type="text/javascript" src="js/json2.js"></script>
    <script type="text/javascript" src="js/prototype-1.4.0.js"></script>
    <script language="javascript" type="text/javascript" src="js/My97DatePicker/WdatePicker.js"></script>
    <base href="<%=basePath%>"/>
    <script type="text/javascript">
    getUserName();
    function getUserName(){
    var url="user.do?action=getUserName";
    var myAjax = new Ajax.Request(url, {method:"post", onComplete:depCallback, asynchronous:true});
    }

    function depCallback(originalRequest){
    var selectobj=document.getElementById("userId"); 
    var rst = originalRequest.responseText;
    var linearr = eval('('+rst+')');
    for(var i=0;i<linearr.length;i++){
    var opt=document.createElement("OPTION");
    opt.text=linearr[i].userName;
    opt.value=linearr[i].userId;
    selectobj.add(opt);
    }
    } 上面这个是前台的代码,用到了prototype-1.4.0.js 这个ajax框架  你最好把那几个js文件都引用
    后台代码:DAO类
    /**
     * ajax的后台 增加日程时下拉列表动态获取用户,自己和所有下属
     * @return
     */
    public List<User> getUserName(){
    User user=new User();
    String grade =user.getGrade();
    System.out.println("grade=="+grade);
    String sql= "select userId,userName from s_user where grade <= '"+grade+"'";
    System.out.println("sql=="+sql);
    List<Map> list = new DBBase().selectQuery(sql, null);
    List<User> userList = BeanFactory.ListToBean("com.woyi.dto.User", list);
    return  userList;
    }BO类
    /***
     * ajax 动态取出用户名作为下拉列表的 option
     * @return
     */
    public List<User> getUserName(){
    return factoryDAO.getUserDAO().getUserName();
    }Action 类/***
     * 动态生成添加日程中用户的下拉列表
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return
     */
    public ActionForward getUserName(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
    List<User> userList=factoryBO.getUserBO().getUserName();
    System.out.println("***********");
    request.setAttribute("userList", userList);
    JSONArray ja = JSONArray.fromObject(userList);
    try {
    PrintWriter out = response.getWriter();
    out.write(ja.toString());
    out.flush();

    } catch (IOException e) {
    e.printStackTrace();
    }
    return null; }我的这个ajax 就是从后台取出用户名 加载页面时动态显示在select中的 
    这个就是ajax  lz自己领悟~
      

  10.   

    用jquery 获取一列值。 最后的事情就是插入数据库。