jsf 使用 p:remoteCommand 从 javascript 调用 bean 方法
jsf calling bean method from javascript using p: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");
}
因此,当我单击标记时,将触发单击事件,并且应该调用 xhtml 处理的 myRemote(),然后应该调用 bean 方法。并显示警报,因此它正在 javascript
中点击 addListener
immediate="true" 解决了我的问题,一切正常
<h:form styleClass="simpleformstyle" id="remoteForm">
<p:remoteCommand name="myRemote" actionListener="#{mapBean.test1}" process="@this" immediate="true"/>
</h:form>
我无法从我的 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");
}
因此,当我单击标记时,将触发单击事件,并且应该调用 xhtml 处理的 myRemote(),然后应该调用 bean 方法。并显示警报,因此它正在 javascript
中点击 addListenerimmediate="true" 解决了我的问题,一切正常
<h:form styleClass="simpleformstyle" id="remoteForm">
<p:remoteCommand name="myRemote" actionListener="#{mapBean.test1}" process="@this" immediate="true"/>
</h:form>