2014-11-05 2 views
0

У меня есть функция JavaScript, использующая значение из бэк-компонента, например var x = #{bean.value}.Обновить функцию JavaScript через ajax/перечитать значение jsf-bean

При загрузке страницы значение для x является окончательным до тех пор, пока страница не будет перезагружена (поскольку EL заменяется на строку фактического значения).

Однако, bean's value может измениться в связи с запросами ajax. Как я могу достичь, чтобы обновить x?

Вот отрывок из моего XML (используя primefaces' календарь компонент) уточнить:

<p:calendar beforeShowDay="highlightDays" ... /> 

<script> 
    function highlightDays(){ 
     var highlightedDays= #{bean.specialDays()}; 
     // set css... 
    } 
</script> 

ответ

1

Вы можете использовать RequestContext сделать такое обновление из фасоли:

RequestContext.getCurrentInstance().execute("highlightedDays = " + specialDays()); 

И переменная javascript должна находиться в области окна, что означает, что вы должны определить var вне области действия функции.

highlightedDays= #{bean.specialDays()};  
function highlightDays(){ 
    //make use of the var 
} 
Смежные вопросы