jsf使用p:remoteCommand

时间:2016-11-01 14:26:19

标签: javascript jsf google-maps-api-3 primefaces remotecommand

我无法从我的javascript中触发bean方法。

myRemote()应该调用xhtml中的primefaces remoteCommand,它应该触发对bean中test1()的调用,但这绝不会执行。为什么?

警报确实会显示,因此它正在点击javascript中的addListener

我的javascript

function loadMarkers(m) {

    for (var i = 0; i < m.length; i++) {
        PF('w_gmap').addOverlay(m[i]);

        //add listener for event clicking on marker
        google.maps.event.addListener(m[i], 'click', function () {  

            myRemote();  //should be handled by p:remoteCommand
            alert("HI 123");
        }); 
    }   
}

XHTML

<h:form styleClass="simpleformstyle" id="remoteForm">
    <p:remoteCommand name="myRemote" actionListener="#{mapBean.test1}" process="@this"/>
</h:form>   

从p:remoteCommand

调用的bean方法
public void test1(){
    System.out.println("HIIIIIIIIIIII");
}

所以当我点击一个标记时,click事件会触发,并且应该调用myhmote(),xhtml会处理它,然后应该调用bean方法。并显示警报,以便它在javascript中点击addListener

1 个答案:

答案 0 :(得分:0)

immediate =“true”解决了我的问题,一切都按预期行事

<h:form styleClass="simpleformstyle" id="remoteForm">
    <p:remoteCommand name="myRemote" actionListener="#{mapBean.test1}" process="@this"  immediate="true"/>
</h:form>