我有一个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()
提前致谢
答案 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();
}