jquery.js文件的位置

时间:2013-01-24 03:55:36

标签: jquery jsf

我创建了一个示例jsf应用程序,并尝试使用jquery。在什么目录中应该找到jquery.js文件? WEB-INF? SRC?我下载了.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>

7 个答案:

答案 0 :(得分:2)

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

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

但是如果你可以尝试使用jQuery的download section中给出的文件的CDN版本。您可以使用GoogleMicrosoft CDN。

答案 1 :(得分:1)

无所谓,最重要的是你必须给出正确的道路。

例如:

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

包含jquery的html文件必须与脚本文件夹一起放置。

答案 2 :(得分:1)

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

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">将自动定位到<body>的结尾,该$(document).ready()将比{{1}}更早发布。

另见:

答案 3 :(得分:0)

只要你提供正确的路径就没关系,现在我们主要使用google托管的jquery库。这取消了一些交通压力..

你可以尝试一下  google hosted library

请注意,您需要在链接前放置http或https ..

答案 4 :(得分:0)

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

使用h:outputScript加载脚本文件:(Reference

 <h:outputScript name="js/jquery-1.6.2.js" />
如果您使用的是RichFaces,请

放置路径:

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

添加 Google CDN

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

参考:jQuery in xhtml

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

<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(在正文中添加谷歌CDN)
Live Example2(在标题中添加谷歌CDN)。

答案 5 :(得分:0)

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

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

您可以通过指定

在JSF页面中包含jquery
<h:outputScript name="js/jquery-latest-version.js" />

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

答案 6 :(得分: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将自动从上面的代码调用该文件版本。