在struts中另一个下拉列表的更改时从数据库填充的数据

时间:2012-01-01 17:38:55

标签: ajax jsp struts drop-down-menu populate

我正在使用struts开发一个web应用程序,其中我有两个关于更改另一个值的下拉列表应该从数据库中填充,因为我已经使用了javascript和servlet。

在更改第一个下拉列表时,我调用该servlet中的一个servlet,从数据库中填充下拉列表,并在响应流中写入整个值,如下所示:

  String buffer= "<select name='dwnfloor'><option value='0'>Select</option>";
     while(result.next())
                        {                 
                        buffer=buffer+
                           "<option value="+
                           result.getString("ID")+
                           ">"+
                           result.getString("name")+
                           "</option>";  
                    }  
                     buffer=buffer+"</select>";  
                     response.setContentType("text/html");
                     response.setCharacterEncoding("UTF-8");
                     /*response.getWriter().println(buffer); */
                     response.getWriter().write(buffer);`    

但是当它返回到jsp页面时,下拉列表中没有任何内容。我不明白为什么会这样。

1 个答案:

答案 0 :(得分:0)

我必须同意你的方法很粗糙。

  1. 通过Ajax调用调用并获取缓冲区字符串的值。
  2. 现在将组合框放入。
  3. 在Ajax调用成功时,将div的innerHTML更改为缓冲区字符串。
  4. 这是一个伪代码

    oncomboxchange() {
    
        buffer = callAjax(){
    
    }
    if (ajaxcall success)
      combodiv.innerHTML = buffer
    
    }