0

我想动态地从数据库中获取或获取数据并填充选择框。这是我的代码:

    <form action="addchangerequest" method="post">
        <select name="type">
            <option value="Non-Sap">Non-Sap</option>
            <option value="Sap">Sap</option>
        </select>

        <select name="assettriggered">
            ** I want to populate these option values upon making a selection to the first select box. These option will be the data coming from the database**
        </select>


    </form>

这是我的方法类。

    public List sortDeployed(String userID)
{
    List deployedlist = new ArrayList();

    try
    {

        PreparedStatement pstmt = conn.prepareStatement(SORT_ID);
        pstmt.setString(1, userID);
        ResultSet rs = pstmt.executeQuery();

        while(rs.next())
        {
            StoreAssetBean storeAssetBean = new StoreAssetBean();
            storeAssetBean.setDeployedID(rs.getInt("AssetDeployed_ID"));
            storeAssetBean.setName(rs.getString("Asset_Name"));
            storeAssetBean.setMmoID(rs.getString("UserDivision_ID"));
            storeAssetBean.setDepartment(rs.getString("User_Department"));
            storeAssetBean.setDepType(rs.getString("AssetDeployed_Type"));
            storeAssetBean.setDeployedDateTime(rs.getString("AssetDeployed_DateTime"));
            deployedlist.add(storeAssetBean);
        }

    }
    catch(SQLException e)
    {
        System.out.println(e);
    }
    return deployedlist;
}

我希望必须将 AssetDeployed_Type 数据导入名为“assettriggered”的选择框。我正在使用 MVC 模型 2 JSP Servlet。我搜索过ajax,但我没有实现它的经验。当我在第一个选择框中选择值时,我希望它是动态数据获取。请各位大侠帮忙,先谢谢了!!

4

1 回答 1

0

当您了解需要采取的步骤时,这很容易做到。

  1. 在您想要的某个 JavaScript 事件上发送 AJAX 请求。在你的情况下,它是onchange第一个<select>。您当然可以XMLHttpRequest自己发送,但使用完善的 JS 库(如 jQuery)更容易(且稳定)。
  2. 该请求由一个专用 servlet 接收,该 servlet 接受一些数据,这些数据将用于在 java 代码中获取必要的数据,并将获取的数据以 JSON 格式发送回网络浏览器。传入的数据是<option>第一个<select>元素的选定值,如果您打算将此 servlet 用于其他目的,则可能是 fetch 操作的 id。可以使用像 Gson 这样的库来将 servlet 返回的数据序列化为 JSON 格式。
  3. 当 servlet 响应成功返回到客户端时,将执行一个 JS 回调函数,其中包含来自 servlet 的数据。您将使用该数据创建 HTML 元素,使用特定于应用程序的数据填充它们,并<select>使用新获取的数据更新 HTML DOM(第二个元素)。
于 2013-07-08T16:03:47.927 回答