2012-03-23 2 views
0

У меня есть что-то вроде:Настройка реагировать после часа: Ajax вызова

<h:commandButton> 
    <h:ajax event="click" listener="#{controller.onLog}" onchange="onLogProcess" /> 
    .... 
</h:commandButton> 

я отправить почту на сервер, делать некоторые вещи в функции слушателя. Затем я хотел бы вернуть строку/сообщение (ответить) клиенту и поймать его с помощью javascript в «onLogProcess», чтобы показать пользователю строку настройки.

Я смотрю на него, но я не нашел ничего еще ...

Есть ли способ, что я могу сделать это с помощью JSF?

Я использую JSF 2.1/Mojarra 2.1.2

Спасибо заранее!

ответ

1

Позвольте <f:ajax> (не <h:ajax>!) Условно визуализировать <h:outputScript>.

<h:commandButton action="#{controller.onLog}"> 
    <f:ajax render="script" /> 
</h:commandButton> 
<h:panelGroup id="script"> 
    <h:outputScript rendered="#{not empty controller.log}"> 
     onLogProcess('#{controller.log}'); 
    </h:outputScript> 
</h:panelGroup> 

Где #{controller.log} ваша строка, вы хотите, чтобы перейти к функции JS. Убедитесь, что он не содержит специальных символов JS, таких как ', linebreaks и т. Д. При необходимости используйте Apache Commons Lang StringEscapeUtils#escapeJavaScript().

+0

Я попробую это завтра. Я очень ценю это. Благодаря! @BalusC – bribon