Функциональность стиля JSF 2 Scriptmanager - PullRequest
0 голосов
/ 18 мая 2010

Мне нужно иметь возможность добавить некоторый javascript ко всем ответам обратной передачи ajax (PartialViewContext.isAjaxRequest == true), но мне не удается выполнить какую-либо реализацию, которую я пытаюсь.

Я попытался реализовать

PhaseListener

и добавление моего сценария с использованием PartialResponseWriter.insert * для добавления блоков eval, а также попытка добавить сценарий путем создания элемента script. (Результаты в CDATA не могут быть вложенными или просто неверный XML)

Я попытался украсить PartialViewContextFactory, чтобы переопределить

PartialViewContext.processPartial

и добавить скрипт после того, как упакованный экземпляр обработал его ...

Как мне добавить сценарии к ответу Ajax? Нечто подобное тому, что .NET имеет с Scriptmanager.registerClientScriptBlock предпочтительно.

Спасибо

1 Ответ

0 голосов
/ 31 мая 2010

Используйте библиотеки javascript, которые поставляются в комплекте с вашей реализацией JSF2 (как того требует спецификация). Вот документы по API:

http://java.sun.com/javaee/javaserverfaces/2.0/docs/js-api/index.html

jsf.ajax.addOnEvent решает вашу проблему «добавления некоторого javascript ко всем ответам обратной передачи ajax»:

Эта функция должна принимать ссылку на существующую функцию JavaScript. Ссылка на функцию JavaScript должна быть добавлена ​​в список обратных вызовов, что позволяет зарегистрировать более одного обратного вызова, вызывая jsf.ajax.addOnEvent более одного раза.

...