有一种简单的方法可以在调用a之前和之后调用JavaScript动作<f:ajax listener>,例如我想在辅助bean中调用window.alert("pre") before和window.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) 我希望显示<p:growl>会话已过期.我找到了许多处理会话过期的方法,如会话超时和JSF/PrimeFaces ajax请求上的ViewExpiredException处理,但是我无法将faces消息推送到<p:growl>.
到目前为止,当HTTP会话在服务器端自动过期时,如何在客户端自动运行一些(JavaScript)代码?