JSF 2 Scriptmanager样式功能

时间:2010-05-18 13:31:42

标签: ajax decorator response jsf-2

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

我尝试过实施

PhaseListener

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

我尝试过装饰PartialViewContextFactory来覆盖

PartialViewContext.processPartial

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

我应该如何在Ajax响应中添加sripts?类似于.NET与Scriptmanager.registerClientScriptBlock的相似之处。

谢谢

1 个答案:

答案 0 :(得分: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来注册多个回调。