Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 如何在页面加载后通过Bean JSF传递参数来调用JS函数?_Javascript_Java_Jquery_Jsf_Web - Fatal编程技术网

Javascript 如何在页面加载后通过Bean JSF传递参数来调用JS函数?

Javascript 如何在页面加载后通过Bean JSF传递参数来调用JS函数?,javascript,java,jquery,jsf,web,Javascript,Java,Jquery,Jsf,Web,当页面加载时,我必须通过传递向量作为参数来调用JS中的函数 我可以使用p:commandButton执行此操作,其中: actionListener = "# {routeEnterBean.GetMap ()}" 我在Bean中运行函数(在数据库中获取值),然后,在这里: oncomplete = "initMap (xhr , status, args) " 因此,执行JS函数 代码Bean: public void gerarMapa() { RequestC

当页面加载时,我必须通过传递向量作为参数来调用JS中的函数

我可以使用p:commandButton执行此操作,其中:

 actionListener = "# {routeEnterBean.GetMap ()}"
我在Bean中运行函数(在数据库中获取值),然后,在这里:

 oncomplete = "initMap (xhr , status, args) "
因此,执行JS函数

代码Bean:

public void gerarMapa() {   
        RequestContext context = RequestContext.getCurrentInstance();
        context.addCallbackParam("coord", new 
          org.primefaces.json.JSONArray(coordenadas));
    }
函数JS

function initMap(xhr, status, args) {  
    var qtd_entregas = args.coord.length;
    for (var i = 0; i < args.coord.length; i++) {
        waypts.push({
            location : args.coord[i].latitude + ', ' + args.coord[i].longitude,
            stopover : true,
        });
    }
}

但我不知道如何将向量作为参数传递

您可以保留现有代码,并通过在页面上添加以下行来使用Primefaces进行传递

<p:remoteCommand autoRun="true" actionListener="#{routeEnterBean.gerarMapa()}" oncomplete="initMap(xhr, status, args);"/>


属性
autoRun=“true”
将强制在页面加载时执行
p:remoteCommand

请仔细阅读巴卢斯的答案
<p:remoteCommand autoRun="true" actionListener="#{routeEnterBean.gerarMapa()}" oncomplete="initMap(xhr, status, args);"/>