Java Ajax是否允许我在按下提交按钮之前获取列表框值?

Java Ajax是否允许我在按下提交按钮之前获取列表框值?,java,ajax,jsp,jstl,el,Java,Ajax,Jsp,Jstl,El,我想在提交之前将listbox中的一个值传递到java bean中,用户选择一个新的listbox值和一个基于其中选择的值进行动态更新的表,该值由bean函数使用,该函数基于该值创建一个新的列表,并用于填充表 它是一个显示在表单项右侧的小表格,仅供参考 这是jsp页面,我有一个带有listbox set/get函数的bean 我被ajax示例弄糊涂了,因为它们似乎需要url。我可以把url放在同一个页面上吗?它似乎还需要url指向页面或xml文件。我只需要当前页面表单中的listbox值 顺便说

我想在提交之前将listbox中的一个值传递到java bean中,用户选择一个新的listbox值和一个基于其中选择的值进行动态更新的表,该值由bean函数使用,该函数基于该值创建一个新的列表,并用于填充表

它是一个显示在表单项右侧的小表格,仅供参考

这是jsp页面,我有一个带有listbox set/get函数的bean

我被ajax示例弄糊涂了,因为它们似乎需要url。我可以把url放在同一个页面上吗?它似乎还需要url指向页面或xml文件。我只需要当前页面表单中的listbox值

顺便说一句,我不是在使用php,有很多php使用的例子。 我没有使用jquery。 我正在使用jstl/el。 我知道jstl/el和bean是服务器端,javascript是客户端

我愿意调整我的页面以适应工作思路

干杯

大卫

例如: 我被要求提供一些代码,所以这是我微弱的尝试。想象一下jsp中名为stuff.jsp的函数。它的函数中有一个获取列表框值并将其放入名为project_首字母缩略词的变量中的函数。然后,它尝试使用ajax作为参数传递它。然后,在createTable函数中,我尝试将它捕获到一个名为acronym的JavaBean值中,对于这个测试用例,我只是尝试用一个警报来显示它的值

这是行不通的。我所要做的就是使用responseText和responseXML,它们只是返回stuff.jsp的网页源代码。我想要传递的参数,而不是源代码

 function init() {
       document.add_user_roles.acronym.value = project_acronym;
        alert("project acro at client is: " + project_acronym);
         // alert happily shows the value.

        var url = "http://myserver.com/apps/myappstuff/stuff.jsp";
        var params = "acronym=" + project_acronym;
        var xmlhttp = false;
        try {


            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest(); //for IE7+, Firefox, Chrome, Opera, Safari
            } else {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //for IE6, IE5
            }
            //Create a asynchronous GET request
            xmlhttp.open("GET", url + "?" + params, true);

            //When readyState is 4 then get the server output
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4) {
                    if (xmlhttp.status == 200) {
                        //document.add_user_roles.getElementById("DOMTarget2").innerHTML = xmlhttp.responseText;
                        alert(xmlhttp.responseText);
                        // yuck, this shows the stuff.jsp source code
                    }
                    else {
                        alert('Something is wrong !!');
                    }
                }
            };
            xmlhttp.send(null);
        } catch(e) {
            alert(e);
        }
        tableCreate();

function tableCreate() {
    <% String acronym = request.getParameter("acronym"); %>
    alert("acronym: " + "<%=acronym%>");

     ...  code to make table here

这不是我想要做的,但我创建了另一个名为rolestable.jsp的页面,该页面具有创建表的功能,并且可以访问与第一个jsp页面相同的bean,但设置为session=page。然后,当listbox更改事件发生时,我让第一个jsp页面调用一个函数,该函数使用一个参数调用新的jsp页面,即acronym=theselectedvalue。第一个页面在iframe中显示表。然后,我将元刷新放在第二页,以便每隔15秒更新一次,以显示可能发生在第二页上的任何更改。我讨厌这一点,因为元刷新当然会使页面以一种非常显著的方式消失和重新出现


ajax是否可以在这种情况下进行最小的调整?

如果您可以共享一些代码,那就太好了。好的答案太长了。基本上,您需要进一步研究客户端和服务器端代码之间的差异,以及创建Ajax的原因。您需要开始在Ajax调用中使用jQuery,而不是重新发明轮子。