jQuery没有在JSF Application中运行

问题描述 投票:1回答:3

我是jQuery的新手。

在netbeans中,我有jquery-1.7.2.js,其中存在所有HTML文件。我正在创建JSF 2.0项目。

以下是我的代码

<?xml version='1.0' encoding='UTF-8' ?>
<!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:t="http://myfaces.apache.org/tomahawk"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      >
    <h:head>
        <title>Welcome to MySite.</title>
    </h:head>

    <script language="text/javascript" src="#{facesContext.externalContext.requestContextPath}/faces/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            alert('I am here...');
            $("#table tr:last").after("<tr><td>some</td><td>content</td></tr>");
        });

    </script>

我相信这个代码,每当文档加载时,我应该得到警告,因为Hi, I am here...但我没有得到任何警报。

此外,当我看到视图源并点击jquery-1.7.2.js时,它会被打开。

知道为什么我没有警觉吗?

更新1

我正在按照教程提供here,仍然没有运气。 :(

jquery html jsf-2 alert netbeans-7
3个回答
1
投票

它似乎是一个糟糕的文件位置,我不知道你把jquery文件放在你的web应用程序中,但无论如何它应该位于资源文件夹下的文件夹中,所以...

resources下添加WebContent文件夹

和内部资源创建js文件夹

然后访问这样的文件

 <h:outputScript name="js/jquery-1.7.2.js" target="head" />

-2
投票

我相信JSF可能正在执行XHTML标准,该标准告诉它忽略您的脚本标记,因为它超出了头部或身体标记。您是否检查过您的脚本标记是否正在呈现?

我已经学会了在处理JSF时最好的方法就是以JSF的方式做到这一点。在这种情况下,它将使用h:outputScript标记。

此外,使用JavaScript的一个好习惯是将它放在一个单独的.js文件中,即使您只在一个页面上使用它。使在浏览器中调试更容易。


-2
投票

你确定这句话:“#{facesContext.externalContext.requestContextPath} /faces/jquery-1.7.2.js”?如果我是你,我会查看浏览器Url,然后用相对路径w / r代码到该Url指向jquery-1.7.2.js。另一种可能的调试方式是在当前文件夹(即当前的.xhtml)中制作jquery-1.7.2.js的副本,然后脚本标记行将是src =“./ jquery-1.7.2。 JS”。如果您可以看到警报,则问题来自该线路路径。

© www.soinside.com 2019 - 2024. All rights reserved.