相关疑难解决方法(0)

在f:ajax监听器被调用之前和之后执行JavaScript

有一种简单的方法可以在调用a之前和之后调用JavaScript动作<f:ajax listener>,例如我想在辅助bean中调用window.alert("pre") beforewindow.alert("post") after 之前onChange调用ACtrl:

<h:form>
    <h:inputText id="anId" value="#{cityCtrl.dbHost}">
        <f:ajax event="change" listener="#{aCtrl.onChange}" execute="@all"/>
    </h:inputText>
</h:form>
Run Code Online (Sandbox Code Playgroud)
@ManagedBean
public class ACtrlimplements Serializable {
    public void onChange(AjaxBehaviorEvent event) {
        System.out.println("something changed");
    }
}
Run Code Online (Sandbox Code Playgroud)

添加多个f:ajax元素似乎不起作用(也许它应该?!),例如在

<h:form>
    <h:inputText id="anId" value="#{cityCtrl.dbHost}">
        <f:ajax event="change" listener="#{aCtrl.toggle}" execute="@all"/>
        <f:ajax event="change" listener="#{aCtrl.onChange}" execute="@all"/>
        <f:ajax event="change" listener="#{aCtrl.toggle}" execute="@all"/>
    </h:inputText>
</h:form>
Run Code Online (Sandbox Code Playgroud)
@ManagedBean
public class ACtrlimplements Serializable {
    public void onChange(AjaxBehaviorEvent event) {
        System.out.println("something changed");
    }

    public void toggle(AjaxBehaviorEvent event) {
        System.out.println("blah"); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jsf-2.2

11
推荐指数
1
解决办法
1万
查看次数

会话到期时,在客户端自动执行操作

我希望显示<p:growl>会话已过期.我找到了许多处理会话过期的方法,如会话超时和JSF/PrimeFaces ajax请求上的ViewExpiredException处理,但是我无法将faces消息推送到<p:growl>.

到目前为止,当HTTP会话在服务器端自动过期时,如何在客户端自动运行一些(JavaScript)代码?

jsf session-timeout primefaces

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

ajax ×1

javascript ×1

jsf ×1

jsf-2.2 ×1

primefaces ×1

session-timeout ×1