others - jsf通过一个 p:remoteCommand 函数调用,通过"oncomplete"处理程序将消息传递给函数

在下面给出JavaScript (这只是一个测试场景)的一个片段。


<script type="text/javascript">


 function test() {


 var message ="myMessage";


 window["myFunction"]();


 // This is literally interpreted as a JavaScript function"myFunction()".


 //"myFunction()" in turn is associated with a <p:remoteCommand>.


 }



 $(document).ready(test);



 function notifyAll() {


 alert("notifyAll() invoked.");


 }


</script>



test()函数在页面加载后立即被调用,这将导致下面的<p:remoteCommand>触发,而后者又调用另一个JavaScript函数,即。


<h:form>


 <p:remoteCommand process="@this"


 name="myFunction"


 actionListener="#{bean.listener}"


 oncomplete="notifyAll()"


 ignoreAutoUpdate="true"/>


</h:form>



是否可以传递var message ="myMessage"test()函数的本地到另一个函数notifyAll()通过给定的<p:remoteCommand>oncomplete处理程序?

时间:


function test() {


 var message ="myMessage";


 myFunction([{name:"message", value: message}]);


}



function notifyAll(data) {


 var message = decodeURIComponent(data.match(/&message=([^&]*)/)[1]);


 // ...


}




<p:remoteCommand name="myFunction" ... oncomplete="notifyAll(this.data)" />



data参数已经在JS函数范围中注入了oncomplete,它表示了XHR查询字符串,正规表达式从它提取参数。

...