如何获取将存储在表单中的选项选项值中的数据?

时间:2013-07-08 15:25:11

标签: java javascript ajax servlets

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

    <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 Model 2 JSP Servlet。我搜索了ajax,但我没有实现它的经验。当我在第一个选择框中选择值时,我希望它是动态数据提取。请帮帮我们,提前谢谢!!

1 个答案:

答案 0 :(得分:0)

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

  1. 针对您想要的某些JavaScript事件发送AJAX请求。在您的情况下,它是第一个onchange的{​​{1}}。你当然可以自己发送<select>,但是通过使用像jQuery这样成熟的JS库,这样做会更容易(也更稳定)。
  2. 请求由专用servlet接收,该servlet接受一些数据,这些数据将用于获取java代码中的必要数据,并将获取的数据以JSON格式发送回webbrowser。如果您打算将此servlet用于其他目的,则传入数据是第一个XMLHttpRequest元素的所选<option>的值,并且可能是获取操作的id。可以使用像Gson这样的库来完成从servlet返回到JSON格式的数据的序列化。
  3. 当servlet响应成功返回到客户端时,将使用其中可用的servlet数据执行JS回调函数。您可以使用该数据创建HTML元素,使用特定于应用程序的数据填充它们,并使用新获取的数据更新HTML DOM(第二个<select>元素)。