0

ページの読み込み時に選択ボックスに入力したいのですが、機能しません

これが私のhtmlコードファイルです1

<button id="edit-btn" onclick="popupwindow('edituser.jsp','Add new user',500,300)">Edit user</button>

ファイル2

<script>
   $(document).ready(function(){

          $.ajax({
                        type: "POST",
                        url: "${pageContext.request.contextPath}/MyServlet",
                        data: "action=list",
                        success: function(data){ 
                          alert("success");
                        },
                        error: function(jqXHR, textStatus, errorThrown) { 
                            alert(errorThrown)
                        }
          });
   }); 
  </script>

<select name="currentusername" id="current-username" style="width:157px;">
</select>

ミダオ

  public List getAllUserNames(){       
    List<UserBean> users = new ArrayList<UserBean>();
    try {
        String sql = "SELECT username FROM users ";
        PreparedStatement ps = connection.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        if (rs != null) {
        while (rs.next()) {
             UserBean userBean = new UserBean();
             System.out.println(rs.getString("username"));
             userBean.setUsername(rs.getString("username"));

             users.add(userBean);
        }
        }
        else{
            System.out.println("No users");
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return users;            
}

サーブレット

 if(action.equalsIgnoreCase("list")){
         System.out.println("list");
         request.setAttribute("users", dao.getAllUserNames());          
    }
4

1 に答える 1

1

手順 : 1) 返されたリストを json に変換します。
gson、jackson、json.jar などのよく知られたライブラリを使用します。
https://sites.google.com/site/gson/gson-user-guide .
http://wiki.fasterxml.com/JacksonInFiveMinutes
2) 返された文字列を response に書き込みます。
3) コンテンツ タイプを application/json に設定します。
4) ajex の成功に。

     success: function(data){ 
       var html ="";
       var JsonArray = JSON.parse(data);
       for(i=0; JsonArray .length >i; i++){
           html +="<option value='"+JsonArray[i].username+"'>"+JsonArray[i].username+"</option>";
       }
     $("#current-username").html(html);
    },
于 2013-10-16T13:09:19.147 に答える