我无法从我的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
答案 0 :(得分:0)
immediate =“true”解决了我的问题,一切都按预期行事
<h:form styleClass="simpleformstyle" id="remoteForm">
<p:remoteCommand name="myRemote" actionListener="#{mapBean.test1}" process="@this" immediate="true"/>
</h:form>