Я вызываю функцию на стороне клиента так: invalidateUserSession(). Я знаю, что клиентская функция запускается, потому что я помещал предупреждение в незавершенное событие. По какой-то причине метод серверной стороны никогда не называется.a4j jsФункция не запускается на стороне сервера
Client код сторона:
<a4j:jsFunction
name="invalidateUserSession"
action="#{billingController.invalidateSession}"
immediate="true"
oncomplete="alert('invalidate');"
/>
сервера код сторона:
public void invalidateSession(){
log.info("Invalidation session...");
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
}
Любая причина, по которой вы используете 'непосредственный' здесь? Вы пробовали без него? Также проверьте, не указана ли установка полного 'action = '# {billingController.invalidateSession()}'. И просто проверяя очевидное, вы поставили там точку останова и заметили, что она никогда не попадает, так что вы можете утверждать: «никогда называемый «? – mabi
@mabi, удаляя немедленное =« true », сделал это. Опубликуйте свой комментарий в качестве ответа, чтобы я мог его принять. – Fabii