我面临一个非常奇怪的问题.我正在使用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"/>
Run Code Online (Sandbox Code Playgroud)
在控制台上看到的错误是 ReferenceError:未定义jQuery
这里发生了什么?Wy看起来只有在我包含特定的丰富组件时才会加载jquery.即使在该页面中没有加载丰富的组件,我如何使用jQuery在我的apge bby默认值上可用