页面加载后JSF2 ajax调用

时间:2013-04-16 20:01:27

标签: ajax jsf-2

我们是weblogic10.3.7中的JSF2。

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

可能这可以通过javascript document.ready function触发。

有更好的方法吗?

由于

2 个答案:

答案 0 :(得分:0)

看看PrimeFaces的RemoteCommand。您可以在RemoteCommand函数中调用此document.ready来执行某些bean方法。

答案 1 :(得分: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++;
}