将JSF(primefaces)托管bean变量传递给javascript函数

时间:2014-10-28 13:29:48

标签: javascript jsf-2 primefaces

我有一个JSF / primefaces托管bean。我试图将托管bean变量传递给同一个托管bean中的JavaScript函数,但我没有成功。有人可以帮助我完成这项任务。

我的托管bean代码段

reportName=report[0];
    url="http://cvgapp42q/Reports/Pages/Report.aspx?ItemPath=%2fLPSR%2f"+reportName;
    try {

        RequestContext.getCurrentInstance().execute("window.open('#{repBean.url}')");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

url 是我尝试使用javascript函数中的表达式#{repBean.url}引用的变量 window.open()

提前致谢

2 个答案:

答案 0 :(得分:1)

只需将您的javascript代码放在页面的面板中:

<h:panelGroup id="scriptPanel">
    <script>
        window.open('#{repBean.url}');
    </script>
</h:panelGroup>

并在您的ajax请求后使用相关的primefaces组件上的update="scriptPanel"更新此面板。

答案 1 :(得分:0)

使用

@ManagedProperty(value="#{repBean}")
RepBean repBean

并在您的方法中

try {
    RequestContext.getCurrentInstance().execute("window.open('"+repBean.getUrl()+"')");
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}