1

我们是weblogic10.3.7中的JSF2。

我们需要在页面加载完成后自动触发 ajax 调用。

可能这可以从 javascript document.ready 函数触发。

有什么更好的方法吗?

谢谢

4

2 回答 2

0

看看 PrimeFaces 的RemoteCommand。你可以RemoteCommand在你的document.ready函数中调用它来执行一些 bean 方法。

于 2013-04-16T20:44:51.200 回答
0

尝试以下不包含任何外部库的代码。

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++;
}
于 2013-04-23T12:39:37.980 回答