-1

我已经创建了一个示例 jsf 应用程序,并且正在尝试使用 jquery。jquery.js 文件应该位于哪个目录中?网络信息?源代码?我下载了 .js 文件,但它似乎不起作用。我不确定它应该在哪里。

我已更新我的代码以指向 googleapis,但它仍然无法正常工作:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js">
        $(document).ready(function(){
            $("#p1").mouseenter(function(){
                alert("You entered p1!");
            });
        });
    </script>
    <p id="p1">Enter this paragraph.</p>
</h:body>

4

7 回答 7

2

只要您提供正确的文件路径,您就可以将其保存在任何地方。但是尽量让它远离WEB-INF目录,只保留该目录下的私有文件(用户不能直接访问的文件)。

如果您有web-content目录,请将 jquery 文件保存在web-content\js目录下,以便您可以通过<path-to-your-app>/js/jquery.js.

但是,如果您可以尝试使用jQuery下载部分中给出的文件的 CDN 版本。您可以使用GoogleMicrosoft CDN。

于 2013-01-24T04:01:12.693 回答
1

没关系,最重要的是你必须给出正确的路径。

例如:

<script language="javascript" src='script/jquery-1.6.min.js'></script>

并且您的包含 jquery 的 html 文件必须与脚本文件夹放在一起。

于 2013-01-24T04:09:10.727 回答
1

鉴于您正在使用 JSF2,您可以利用 JSF2 资源管理系统。也就是说,将 CSS/JS/image 资源放到/resources公共 webcontent 的文件夹中,如下所示:

WebContent
 |-- resources
 |    |-- css
 |    |    `-- style.css
 |    |-- js
 |    |    `-- script.js
 |    `-- img
 |         `-- logo.png
 :

然后可通过以下组件获得:

<h:outputStylesheet name="css/style.css" />
<h:outputScript name="js/script.js" />
<h:graphicImage name="img/logo.png" />

因此,在您的特定情况下,您需要将其另存为/resources/js/jquery-1.9.0.min.js

WebContent
 |-- resources
 |    `-- js
 |         `-- jquery-1.9.0.min.js
 :

并参考如下:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>Facelet Title</title>
    <h:outputScript name="js/jquery-1.9.0.min.js" />
</h:head>
<h:body>
    <h:outputScript target="body">
        $("#p1").mouseenter(function(){
            alert("You entered p1!");
        });
    </h:outputScript>
    <p id="p1">Enter this paragraph.</p>
</h:body>

注意:<h:outputScript target="body">将自动重定位到 end<body>将早于$(document).ready().

也可以看看:

于 2013-01-24T11:49:41.883 回答
0

只要您提供正确的路径就没有关系,目前我们主要使用谷歌托管的 jquery 库。这减轻了一些交通压力..

你可以试试 谷歌托管库

请注意,您需要在链接前添加 http 或 https ..

于 2013-01-24T03:59:54.567 回答
0

您可以将脚本文件保存在WebResources/WebContent文件夹中(任何资源文件夹,但路径必须正确),

用于h:outputScript加载脚本文件:(参考

 <h:outputScript name="js/jquery-1.6.2.js" />

如果您使用的是 RichFaces,则放置路径:

<a4j:loadScript src="resource:///pathToFile/jquery-1.4.2.min.js" />

添加谷歌 CDN

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>

参考:xhtml 中的 jQuery

您的场景:使用如下代码。

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>Facelet Title</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
</h:head>
<h:body>
   <script type="text/javascript">
        $(document).ready(function(){
            $("#p1").mouseenter(function(){
                alert("You entered p1!");
            });
        });
    </script>
    <p id="p1">Enter this paragraph.</p>
</h:body>

或者

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
            $(document).ready(function(){
                $("#p1").mouseenter(function(){
                    alert("You entered p1!");
                });
            });
        </script>

演示:
Live Example1(在正文中添加 google CDN)
Live Example2(在标题中添加 google CDN)。

于 2013-01-24T04:16:41.747 回答
0

您可以将 jquery 库放在Web 应用程序文件夹WebContent内的目录中。resources

WebContent
   ->resources->js->jquery-latest-version.js

您可以通过指定将 jquery 包含在 JSF 页面中,

<h:outputScript name="js/jquery-latest-version.js" />

在 html 内<head>或页面底部。

于 2013-01-24T05:58:24.103 回答
0

在您的网络应用程序中添加文件夹resources下一个文件夹下一个文件夹,该js文件夹由您的 JavaScript 文件命名,jquery.js并在此有效 JavaScript 文件中,其名称与版本的语法匹配,例如1_6.js.

因此,对于您的示例,它将是:

<your_web_app>/resources/js/jquery_min.js/1_6.js

这是正确的 JSF 方式。现在您可以在您的 jsf 页面中使用:

<h:outputScript library="js" name="jquery_min.js"/>

所有版本都将由 JSF Framework 管理。如果您添加下一个版本,可能是 1_7 这样的文件,命名1_7.js为您的jquery_min.js文件夹,那么 JSF 将自动从上述代码调用该版本的文件。

于 2013-01-24T10:13:54.987 回答