Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript没有在JSF+;第一页?_Javascript_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Javascript没有在JSF+;第一页?

Javascript没有在JSF+;第一页?,javascript,jsf,jsf-2,primefaces,Javascript,Jsf,Jsf 2,Primefaces,在这个使用Primefaces的JSF页面中,我不明白为什么页面底部的javascript没有被调用 函数“initVisualization()”包含在页面顶部加载的progressbar1.js文件中 任何hep都将不胜感激 <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x

在这个使用Primefaces的JSF页面中,我不明白为什么页面底部的javascript没有被调用

函数“initVisualization()”包含在页面顶部加载的progressbar1.js文件中

任何hep都将不胜感激

<?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:p="http://primefaces.org/ui"
      >
    <h:head>
        <title>academiCV</title>
        <h:outputStylesheet name="css/otherpages.css" />
        <h:outputScript library="js" name="kinetic-v4.0.5.js" />
        <h:outputScript library="js" name="progressbar1.js" />
    </h:head>

    <h:body>
        <h:form id="formID" prependId="false">
            <p:remoteCommand name="launchSearch" action="#{progressBarMessenger.processCalls()}"/>
            <p:remoteCommand name="checkUpdates" action="#{progressBarMessenger.checkUpdates()}"/>
            <p:poll interval="1" update="text,counter" oncomplete="checkUpdates(); updateVisualization();"/>
            <h:inputHidden id="counter" value="#{progressBarMessenger.progressMessage}"/>

            <div style="margin-left: 50px;font-size: 130%;">

                <div id="container"></div>
                <h:panelGrid id="text">
                    <h:outputText id="txt" value="#{progressBarMessenger.returnMsg()}" escape="false"/>
                    <h:commandButton id="button1" value="Look at probable mistakes" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonCorrections}"/>
                    <h:commandButton id="button2" value="Let our algorithms do the corrections, go to the final result" action ="#{controllerBean.skipPairs()}" rendered ="#{progressBarMessenger.toggleButtonCorrections}"/>
                    <h:commandButton id="button3" value="Check the list of co-authors of #{controllerBean.getSearch().fullname}" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonFinalCheck}"/>
                    <h:commandButton id="button4" value="Open #{controllerBean.getSearch().fullname}" action ="#{progressBarMessenger.getNextPage()}" rendered ="#{progressBarMessenger.toggleButtonReport}"/>
                </h:panelGrid>
            </div>
        </h:form>

    </h:body>
    <script type="text/javascript">
        //<![CDATA[
        $(function(){
            initVisualization();

        }); //end ready
        //]]>
    </script>

</html>
顺便说一下,progressBar1.js中包含的js函数的第一行:

var stage;
function initVisualization(){
    stage = new Kinetic.Stage({
        container: 'container',
        width: 1100,
        height: 500
    });

    var barsLayer = new Kinetic.Layer();
    var aLayer = new Kinetic.Layer();
    var bLayer = new Kinetic.Layer();
    var cLayer = new Kinetic.Layer();
    var dLayer = new Kinetic.Layer();

    var aRect = new Kinetic.Rect({
        x: 10,
        y: stage.getHeight() - 115 - 10,
        width: 245,
        height: 1,
        fill: 'green',
        //        stroke: 'black',
        //        strokeWidth: 0,
        name:'aBar'
    });
etc...

首先,正如Daniel所说,从页面中删除Java脚本并将其包含在Java脚本文件中

第二,也是最重要的一点,当您将Jquery与primfaces一起使用时,您应该将
放在
的末尾,而不是
。这样,它将在加载Jquery/UI提供的PrimeFaces后加载


首先,正如Daniel所说,请从页面中删除Java脚本并将其包含在Java脚本文件中

第二,也是最重要的一点,当您将Jquery与primfaces一起使用时,您应该将
放在
的末尾,而不是
。这样,它将在加载Jquery/UI提供的PrimeFaces后加载


查看此而不是
您是否尝试过
?(顺便说一句,您在js控制台中是否有任何错误?)我没有使用您包含的其他JavaScript库,但似乎
$
正在被其中一个库覆盖,而不是PrimeFaces附带的jQuery中使用的库。感谢您的评论。我使用控制台的跟踪进行更新。@seinecle为了安全起见,请从xhtml中删除func调用,并将以下内容添加到progressbar1.js文件中:
$(document).ready(函数(){initVisualization();})而不是
您是否尝试过
?(顺便说一句,您在js控制台中是否有任何错误?)我没有使用您包含的其他JavaScript库,但似乎
$
正在被其中一个库覆盖,而不是PrimeFaces附带的jQuery中使用的库。感谢您的评论。我使用控制台的跟踪进行更新。@seinecle为了安全起见,请从xhtml中删除func调用,并将以下内容添加到progressbar1.js文件中:
$(document).ready(函数(){initVisualization();})
var stage;
function initVisualization(){
    stage = new Kinetic.Stage({
        container: 'container',
        width: 1100,
        height: 500
    });

    var barsLayer = new Kinetic.Layer();
    var aLayer = new Kinetic.Layer();
    var bLayer = new Kinetic.Layer();
    var cLayer = new Kinetic.Layer();
    var dLayer = new Kinetic.Layer();

    var aRect = new Kinetic.Rect({
        x: 10,
        y: stage.getHeight() - 115 - 10,
        width: 245,
        height: 1,
        fill: 'green',
        //        stroke: 'black',
        //        strokeWidth: 0,
        name:'aBar'
    });
etc...