Почему я не могу передать переменную Javascript методу bean-компонента напрямую? - PullRequest
0 голосов
/ 29 ноября 2018

Как я могу передать переменную Javascript (String) непосредственно в метод bean?Когда я пытаюсь выполнить следующее, оно не работает.

var dd = document.getElementById("j_idt2:ddcust");  
var customer = dd.options[dd.selectedIndex].value;

var credit = document.getElementById("j_idt2:credit");

credit.value = #{creditController.getCreditScore(customer)};

Однако, если я жестко ввожу свою строку в вызов метода (см. Ниже), она работает.

var dd = document.getElementById("j_idt2:ddcust");  
var customer = dd.options[dd.selectedIndex].value;

var credit = document.getElementById("j_idt2:credit");

credit.value = #{creditController.getCreditScore("Bau GmbH")};

Но я не хочу жестко кодировать.Где моя ошибка здесь?Помощь будет оценена!

1 Ответ

0 голосов
/ 29 ноября 2018

Вы не можете сделать это таким образом, потому что javascript оценивается в вашем веб-браузере, в то время как выражения Language выражений (например, #{creditController.getCreditScore("Bau GmbH")};) оцениваются на стороне сервера даже за до , когда javascript отправляется на ваш сервер.браузер, в котором он оценивается.

Однако вы можете отправить обратно содержимое переменной javascript на сервер и назначить его свойствам управляемого компонента по меньшей мере следующими способами:

В заключение вы не собираетесь выполнять только чистое выполнение на стороне клиента javaScript, передавая переменные javascript в выражения EL и назначая возвращаемые значения выражения EL дляjavascript varialbes без каких-либо действий обратной передачи на сервер.

...