0

我需要能够向所有 ajax 回发响应(PartialViewContext.isAjaxRequest == true)添加一些 javascript,但我尝试的任何实现都没有成功。

我尝试过实施

PhaseListener

并使用 PartialResponseWriter.insert* 添加我的脚本以添加 eval 块,以及尝试通过创建脚本元素来添加脚本。(CDATA 中的结果不能嵌套,或者只是无效的 XML)

我试过装饰 PartialViewContextFactory 来覆盖

PartialViewContext.processPartial

并在包装实例处理完脚本后添加脚本...

我应该如何将 sripts 添加到 Ajax 响应中?最好与 .NET 的 Scriptmanager.registerClientScriptBlock 类似。

谢谢

4

1 回答 1

0

使用与您的 JSF2 实现捆绑在一起的 javascript 库(根据规范的要求)。以下是 API 文档:

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

jsf.ajax.addOnEvent解决了您“向所有 ajax 回发响应添加一些 javascript”的问题:

此函数必须接受对现有 JavaScript 函数的引用。JavaScript 函数引用必须添加到回调列表中,从而可以通过多次调用 jsf.ajax.addOnEvent 来注册多个回调。

于 2010-05-31T05:40:17.720 回答