代码之家  ›  专栏  ›  技术社区  ›  mkoryak

哪些RichFaces组件使用prototype,哪些使用jquery?

  •  9
  • mkoryak  · 技术社区  · 14 年前

    我在试着 jquery和prototype以及来自我的RichFaces项目的Scriptaculous。我不想让那些lib放在里面,因为我想在这个项目中使用jQuery的最新版本,而有3个旧版本的lib会让我很困难。

    我在网上找不到任何文件说明 富有的面孔 需要这些lib。事实上,看起来 疯子 对我来说,他们决定在这里同时包含prototype和jquery。

    3 回复  |  直到 13 年前
        1
  •  6
  •   Shervin Asgari    14 年前

    如果您使用的是RichFaces3.1.x,那么可以将其添加到web.xml文件中

    <context-param>
       <param-name>org.richfaces.ExcludeScripts</param-name>
       <param-value>Prototype,Scriptaculous,JQuery</param-value>
    </context-param>
    

    但是,这在以后的版本中不起作用。更多信息 here

    如果要在自己的代码中使用最新的jQuery,请查看 this blog post

    基本思想是你必须使用 jQuery.noConflict(); $j = jQuery.noConflict();

    然后您可以自由使用自己的jQuery版本,而不影响Richfaces附带的版本。

    function showMessages() {
      $j("div#messagetextPanel").fadeIn("fast");
    }
    

    Richfaces 4.x与jQuery 1.4捆绑在一起

        2
  •  3
  •   Damo    14 年前

    • 原型用于核心Ajax
    • ScripatManicle用于 rich:effect
    • jQuery用于如下组件

    但是,如果在web.xml中使用LoadScriptStrategy为NONE并将脚本手动加载到页面中,则可以升级这些脚本的版本并使用自己的脚本。

    <context-param>
        <param-name>org.richfaces.LoadScriptStrategy</param-name>
        <param-value>NONE</param-value>
    </context-param>
    
        3
  •  2
  •   willy    14 年前

    基本的ajax功能(来自ajax4jsf)非常干净,不依赖jQuery或Prototype。因此,要使ajax支持正常工作,您只需要以下几点:

    • /a4j/g/3_3_1.GAorg/ajax4jsf/javascript/scripts/form.js

    如果您想要使用UI控件,那么您可能最终将不得不同时拥有jQuery和prototype。但是,您可以将底层jQuery升级到1.4.3。为此,您需要查看Richfaces对jQuery.js所做的调整,并重新应用到jQuery的更高版本。

    Richfaces 4应该是一个更干净的实现。希望如此!