Getting backing bean value with Javascript

后端 未结 2 887
予麋鹿
予麋鹿 2020-11-28 12:06

JSF 2.0, Mojarra 2.0.1, PrimeFaces 3.4.1

There are similar questions but I need sth. else; javascript function has to wait for the backing bean method, whic

2条回答
  •  死守一世寂寞
    2020-11-28 12:37

    JSF/EL and HTML/JS doesn't run in sync. Instead, JSF/EL run in webserver and produces HTML/JS which in turn runs in webbrowser. Open page in browser, rightclick and View Source. You see, there's no single line of JSF/EL. It's one and all HTML/JS. In place of your JS function, you'll see:

    function afterLoad() {    
        alert("0");
    }
    

    Exactly this JS function get invoked on complete of your command button action. So the result is fully expected.

    Basically, you want to let JSF re-render that piece of JS.

    
    
        
            function afterLoad() {    
                alert("#{statusBean.size}");
            }
        
    
    

    Depending on the concrete functional requirement, which you didn't tell anything about, there may be more elegant ways. For example, RequestContext#execute(), , etc.

提交回复
热议问题