我们是weblogic10.3.7中的JSF2。
我们需要在页面加载完成后自动触发 ajax 调用。
可能这可以从 javascript document.ready 函数触发。
有什么更好的方法吗?
谢谢
看看 PrimeFaces 的RemoteCommand。你可以RemoteCommand
在你的document.ready
函数中调用它来执行一些 bean 方法。
尝试以下不包含任何外部库的代码。
xhtml代码:
<script type="text/javascript">
var startCalls=false;
$(document).ready(function (){
clickButton();
startCalls=true;
})
function clickButton(){
document.getElementById('btn_test').click();
}
</script>
<h:commandButton id="btn_test" value="Test"
actionListener="#{testBean.increaseCount}"
style="display: none">
<f:ajax execute="btn_test" render="pnl_update_area"/>
</h:commandButton>
<h:panelGroup id="pnl_update_area">
This is called #{testBean.clickCount} times
<script type="text/javascript">
if(startCalls){
setTimeout('clickButton()',200);
}
</script>
</h:panelGroup>
JSF 代码:
Integer clickCount=1;
public Integer getClickCount() {
return clickCount;
}
public void setClickCount(Integer clickCount) {
this.clickCount = clickCount;
}
public void increaseCount(ActionEvent event) {
clickCount++;
}