gpt4 book ai didi

从 JSF Managed Bean 执行的 JavaScript 代码不起作用

转载 作者:行者123 更新时间:2023-12-03 09:45:54 24 4
gpt4 key购买 nike

在此 JSF Managed Bean 的注销方法中执行的以下 JavaScript 代码不起作用,但 java 代码实际上起作用。因此,尽管确实发生了注销,但 JavaScript 代码(基本上是单击按钮)并未执行。对可能发生的事情有什么想法吗?谢谢提前!

@SessionScoped
@ManagedBean(name = "LoginController")
public class LoginController implements Serializable {
...
public void logout() {
try {

RequestContext rc = RequestContext.getCurrentInstance();

script = "$('#btnLogOut').prop('disabled', false); window.location.reload(true); $('#btnLogOut').click(); $('#btnLogOut').prop('disabled', true);";
rc.execute(script);

ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.invalidateSession();

} catch (Exception e) {
log.error("error", e);
}

}

最佳答案

您在脚本开头使用 window.location.reload(true); 重新加载页面,因此浏览器可能没有时间执行其后的部分,即注销的部分单击按钮。

关于从 JSF Managed Bean 执行的 JavaScript 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com