将变量值从javascript传递给JSP

时间:2013-05-11 12:27:15

标签: javascript jsp

我有以下情况

<select name="dropdown_Source" onchange="call()">
    <% for (int i=0 ; i < a1.length; i++) { if (a1[i]==n ull) break; %>
        <option value="<%=a1[i]%>">
            <%=a1[i]%>
        </option>
    <% } %>
</select>

<script>
    function call() {
        var source = document.forms[0].dropdown_source.value;
        // Now this 'source' value i have to pass to jsp function 
        <%
            Admin a = new Admin(); //this is class defined
            a.getResult(source); //but source is not resolved here
        %>
    }
</script>

我应该如何在JSP函数中传递此source值? a.getResult() - 函数将返回下拉元素列表和该列表 我必须填入另一个<option>标记。

3 个答案:

答案 0 :(得分:3)

你做不到。在JSP页面编译完成后,JavaScript将在客户端执行,并以response发送到浏览器。

答案 1 :(得分:2)

你不能混合使用javascript和java代码。当你做的时候

<%
            Admin a = new Admin(); //this is class defined
            a.getResult(source); //but source is not resolved here
        %>

这意味着代码片段将在服务器端处理,因为这是普通的java代码。现在变量“source”不是java变量,而是一个javascript变量,当你的html页面在浏览器上加载时它会出现。所以它是一个编译错误。

答案 2 :(得分:1)

这里最好的做法是,一旦javascript执行,获取该源值并对服务器进行AJAX调用,处理它并将值发送回客户端,然后填充下拉列表。