【发布时间】:2015-09-06 11:47:59
【问题描述】:
我需要从 JSF Managed Bean 的方法执行 JavaScript 代码,该方法基本上是单击 facelet(.xhtml 文件)上的按钮。所有这一切都可以通过使用 PrimeFaces 的 RequestContext.execute("{js here}") 完美地工作,但是当使用 ExternalContext 添加一些“页面重新加载”代码行时它不再工作... (请参阅下面的代码)。似乎“页面重新加载”行阻止了 JavaScript 代码的执行。欢迎任何提示!
public void myMethod() throws IllegalStateException, Exception {
RequestContext rc = RequestContext.getCurrentInstance();.
rc.execute("$('#myButton').click();");
try {
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect(((HttpServletRequest) ec.getRequest()).getRequestURI());
} catch (IOException e) {
log.error("Error", e);
}
【问题讨论】:
标签: javascript jquery jsf jsf-2 primefaces