我需要能够为所有ajax回发响应添加一些javascript(PartialViewContext.isAjaxRequest == true),但我没有成功尝试任何实现。
我尝试过实施
PhaseListener
并使用PartialResponseWriter.insert *添加我的脚本以添加eval块,以及尝试通过创建脚本元素来添加脚本。 (CDATA中的结果无法嵌套,或只是无效的XML)
我尝试过装饰PartialViewContextFactory来覆盖
PartialViewContext.processPartial
并在包装的实例处理完脚本后添加脚本...
我应该如何在Ajax响应中添加sripts?类似于.NET与Scriptmanager.registerClientScriptBlock的相似之处。
谢谢
答案 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来注册多个回调。