默认Richfaces Jquery未在页面中加载

时间:2013-07-23 18:47:48

标签: jquery richfaces jsf-1.2

我面临一个非常奇怪的问题。我正在使用jsf 1.2和richfaces 3.3.3构建一个Web应用程序。我没有加载任何外部jquery版本,而是坚持富表面提供的默认版本,即jquery版本1.3.2。我使用'jQuery'关键字访问默认的jquery。

我在页面顶部包含了一些javascript文件,其中包含jquery。 当我从该页面中删除所有richfaces组件时,它看起来像是没有加载jquery。那是在控制台上,我看到消息'jQuery is undefined'。但是当我在页面中包含“rich:extendedDataTable”标记时,此错误就会消失。奇怪的是,如果我包含'rich:dataTable',错误仍然存​​在。只有当我使用'rich:extendedDataTable'时,看起来jQuery才会加载到我的页面中。所以我现在做的是在页面上放置一个'rich:extendedDataTable',因为mo的原因和render是'False'。我不确定这有多大意义。

jsf包含在页面顶部

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
                            xmlns:h="http://java.sun.com/jsf/html"
                            xmlns:f="http://java.sun.com/jsf/core"
                            xmlns:a4j="http://richfaces.org/a4j"
                            xmlns:rich="http://richfaces.org/rich"
                            xmlns:t="http://myfaces.apache.org/tomahawk"
                            xmlns:ui="http://java.sun.com/jsf/facelets">    
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link href="../../styles/bootstrap.min.css" rel="stylesheet" type="text/css" />
        <link href="../../styles/Stylesheet.css" rel="stylesheet" type="text/css" />
        <script src ="first.js" language="JavaScript"/>
        <script src ="second.js" language="JavaScript"/>
        <script src ="validation.js" language="JavaScript"/>    

在控制台上看到的错误是 ReferenceError:未定义jQuery

这里发生了什么? Wy看起来只有在我包含特定的丰富组件时才会加载jquery。即使在该页面中没有加载丰富的组件,我如何使用jQuery在我的apge bby默认值上可用

1 个答案:

答案 0 :(得分:5)

RichFaces只在需要自己的时候才为JQuery添加导入。即使您没有使用任何使用JQuery的RichFaces组件,也必须强制RichFaces加载JQuery。

您可以通过编写以下命令强制导入JQuery:

<a4j:loadScript src="resource://jquery.js"/>

如果您搜索此代码,您会发现很多示例。