在javascript调用函数中,它在while中必须调用java函数

时间:2011-05-18 13:38:13

标签: java javascript function

我正在创建一个包含两个文本框的页面。当用户在框中输入值然后点击提交按钮时,我会调用一个功能。在那个函数中,我得到了这两个值。然后我必须将这些值传递给一个将返回结果的java函数。然后我会显示那个结果。我不知道该怎么做。我写了代码。但它最终会出错。

<%@ page import="java.util.*,mypackage.JavaFile"%>
<html>
<HEAD>
<TITLE>
sample script

</TITLE>
<SCRIPT LANGUAGE = "JavaScript">

function getResult(form){
var value1 = form.val.value;
var value2 = from.val1.value;
<%
String res = JavaFile.myFunc(value1,value2);
%>
return res;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form" ACTION=""  METHOD="GET">Enter value1:<br>
<INPUT TYPE="text" NAME="val" VALUE=""><P>
Enter value2<br>
<INPUT TYPE="text" NAME="val1" VALUE=""><P>
<INPUT TYPE="button" value="submit" onClick="getResult(this.form)">
</FORM>
</BODY>
</HTML>

在编译错误中,value1 value2未解析。请帮忙。

3 个答案:

答案 0 :(得分:2)

因此,您对JSP是服务器端代码但javascript是浏览器端代码这一事实感到困惑。您需要通过HTTP POST实际提交表单,并从POST请求主体获取value1和value2值,然后在JSP java代码中使用它们。

答案 1 :(得分:1)

您正在使用javascript混合java - javascript代码在客户端运行(即:浏览器),并在您的服务器上执行java代码。不同的计算机,不同的编程语言,完全不同的上下文。

您必须将带有(ajax?)命中的变量发送到服务器,调用您的java函数,返回响应并使用浏览器捕获响应并将其显示给用户

答案 2 :(得分:0)

因此,您需要区分客户端JavaScript和服务器端Java。如果你为此创建了两个单独的页面会更简单。在第一页上,您可以使用其输入和提交按钮创建表单。让该表单提交到第二页。

然后,您可以在第二页上尝试获取从客户端提交的值。在这种情况下,根本不需要使用JavaScript。

要在JSP页面上获取从Java表单提交的值,您可以:

  <%
       String value1 = request.getParameter("val");
       String value2 = request.getParameter("val1");



  %> 

现在,您可以使用要调用的Java方法中的值。