gpt4 book ai didi

java - 在 JSP 中从 JavaScript/jQuery 调用后端 Java 方法

转载 作者:行者123 更新时间:2023-12-01 03:15:57 25 4
gpt4 key购买 nike

我有一个 JSP,其中有一个包含实体种类名称的 select 列表。当我选择实体种类时,我需要使用所选实体种类的字段名称填充另一个选择列表。为此,我在 onchange 事件上调用 JavaScript 函数。

在 JavaScript 方法中,我需要调用后端的一个方法,该方法返回一个包含所选实体类型的字段名称的 arraylist。

使用和不使用 Ajax 时如何调用该方法?另外,如何使用 arrayList 动态填充第二个选择列表?

最佳答案

我将描述两种方法:使用/不使用 AJAX。

  1. 如果您想要同步表单提交,您需要将 onchange 事件附加到您的第一个 select 元素:

    <select name="select-one" id="select-one" onchange="this.form.submit()">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>

    完成此操作后,表单将被提交,并且第一个选择选项将作为 request.getParameter("select-one") 提供,您将根据该选项为第二个下拉列表提供数据总体,通常转发到 JSP。

  2. 如果您想通过 AJAX 检索列表并重新填充另一个下拉列表,您可以发送 AJAX 请求并在回调函数中处理返回的数据:

    var val = $('#select-one option:selected').val();
    $.ajax({
    url: "servletURL",//servlet URL that gets first option as parameter and returns JSON of to-be-populated options
    type: "POST",//request type, can be GET
    cache: false,//do not cache returned data
    data: {one : val},//data to be sent to the server
    dataType: "json"//type of data returned
    }).done(function(data) {
    var second = $("#select-two");
    $.each(data, function() {
    options.append($("<option />").val(this.value).text(this.label));
    });
    });

    完成此操作后,第二个下拉列表将在不刷新页面的情况下重新填充。

关于java - 在 JSP 中从 JavaScript/jQuery 调用后端 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com