#java #javascript #function
#java #javascript #функция
Вопрос:
Я создаю одну страницу с двумя текстовыми полями. Когда пользователь вводит значение в поле, а затем нажимает кнопку отправки, я вызываю функцию one. В этой функции я получаю эти два значения. Затем я должен передать эти значения одной функции 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>
При ошибке компиляции1 значение значения2 не устранено. Пожалуйста, помогите.
Комментарии:
1. вы вызываете Java-метод из javascript, как если бы он был доступен в клиентской среде.
Ответ №1:
Итак, вас смущает тот факт, что ваш JSP — это код на стороне сервера, а javascript — это код на стороне браузера. Вам нужно фактически отправить форму через HTTP POST и получить значения value1 и value2 из тела запроса POST, затем использовать их в вашем JSP Java-коде.
Ответ №2:
Вы смешиваете java с javascript — код javascript запускается на стороне клиента (т. Е. в браузере), а код java выполняется на вашем сервере. Разные компьютеры, разные языки программирования, совершенно разные контексты.
Вы должны отправить переменные с (ajax?) попаданием на сервер, вызвать свою java-функцию, вернуть ответ и браузер, чтобы захватить ответ и показать его пользователю
Комментарии:
1. как выполнить вызов ajax? Пожалуйста, приведите пример
Ответ №3:
Итак, вам нужно различать JavaScript на стороне клиента и Java на стороне сервера. Было бы проще, если бы вы создали для этого две отдельные страницы. На первой странице вы можете создать форму с ее входными данными и кнопкой отправки. Пусть эта форма отправляется на вторую страницу.
Затем на второй странице вы можете попытаться получить значения, которые были отправлены от клиента. В этом сценарии вообще нет необходимости использовать JavaScript.
Чтобы получить значения, отправленные из формы на Java на странице JSP, вы можете:
<%
String value1 = request.getParameter("val");
String value2 = request.getParameter("val1");
%>
Теперь вы можете использовать значения в вашем Java-методе, который вы хотите вызвать.