【问题标题】:JSF 2 Scriptmanager style functionalityJSF 2 Scriptmanager 风格的功能
【发布时间】:2010-05-18 13:31:41
【问题描述】:

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

我已经尝试实现一个

PhaseListener

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

我已经尝试装饰 PartialViewContextFactory 来覆盖

PartialViewContext.processPartial

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

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

谢谢

【问题讨论】:

    标签: ajax decorator response jsf-2


    【解决方案1】:

    使用与您的 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 来注册多个回调。

    【讨论】:

    • 感谢您的回复,但该建议仅在所有回发到服务器的回发都通过 JSF 客户端库代码并且您有权访问客户端代码的情况下才有效。我正在寻找服务器端的解决方案,其方法类似于 .NET 平台中的 ScriptManager。
    猜你喜欢
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多