我有一个简单的facelets页面:
<!DOCTYPE html>
<html xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Index</title>
</h:head>
<h:body>
<h:form>
<h:inputText id="firstname" value="#{fooBar.firstname}">
<f:ajax event="keyup" render="echo" execute="myCommandButton"/>
</h:inputText>
<h:commandButton value="Submit" action="#{fooBar.fooBarAction()}" id="myCommandButton"/>
</h:form>
<br/>
<h:outputText id="echo" value="#{fooBar.firstname}"/>
</h:body>
</html>
Foobar bean如下所示:
@ManagedBean
@ApplicationScoped
public class FooBar {
private String firstname;
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getFirstname() {
return firstname;
}
public void fooBarAction() {
System.out.println("Foo bar action being executed!!!");
}
}
-将有效的输入值推送到模型(如果组件连接到bean属性)。
-执行操作和操作侦听器(如果组件是操作)。
所以在这里,应该执行myCommandButton,不是吗?而组件的执行意味着要执行它的操作?
的execute
属性基本上告诉JSF在回发期间在JSF生命周期中处理哪些组件。即。它基本上告诉JSF它必须为哪些组件执行应用请求值、处理验证、更新模型值和调用应用程序阶段。应用请求值阶段将收集(解码)提交的HTML表单(输入和按钮)值。验证阶段将对提交的值运行转换/验证。update model values阶段将在backing bean中设置提交/转换/验证值。调用应用程序阶段将执行提交的操作。注意,关键是JSF将基于提交的HTML表单值来完成这些操作。
换句话说,execute
属性完全是服务器端的。它不是你所期望的客户端。您似乎期望它告诉webbrowser提交指定的组件,就像您正在单击它一样。这不是事实。按钮值仅在实际被按下/单击/提交时通过JSF生命周期进行处理。
如果在execute
属性中指定了按钮,并且JSF在处理生命周期期间确定按钮值实际上没有提交(即HTTP请求参数映射中完全没有该值),那么JSF将在apply request values阶段完全不对动作事件进行排队。因此在调用应用程序阶段不会调用任何内容。
<h:form>
<h:inputText id="firstname" value="#{fooBar.firstname}">
<f:ajax event="keyup" listener="#{fooBar.keyupListener}" render="echo" />
</h:inputText>
<h:commandButton value="Submit" action="#{fooBar.fooBarAction}" id="myCommandButton"/>
</h:form>
@ManagedBean
@RequestScoped
public class FooBar {
private String firstname;
public void keyupListener() {
System.out.println("Keyup listener being executed");
}
public void fooBarAction() {
System.out.println("Foo bar action being executed");
}
// ...
}
当应用程序被强制退出时,似乎不会调用函数。我的印象是,无论应用程序处于何种状态,都会调用该函数,但似乎只有在应用程序已经在后台运行时才会调用该函数。如果应用程序尚未使用新的iOS 7远程通知后台模式运行,是否有办法在后台唤醒该应用程序?
嗨,我得到了这个错误,当我试图运行反应应用程序在我真正的Android设备上通过:
我们正在开发一个plone界面来使用来自Web应用程序的REST API服务。用户登录plone并能够访问REST API 问题1)我需要参考哪些Plone编程文档进行设计 查询:2)我需要参考学习的不同技术有哪些 请参阅随附的建议解决方案框图。 .
我正在使用Firebase,并测试在应用程序处于后台时从服务器向应用程序发送通知。通知发送成功,它甚至出现在设备的通知中心上,但是当通知出现或者即使我单击它,我的FCMessagingService中的onMessageReceived方法也从未被调用。 当我在应用程序处于前台时进行测试时,调用了onMessageReceived方法,所有工作都很好。该问题发生在应用程序在后台运行时。 这是有意为
我清楚地阅读了很多关于firebase推送通知行为的文档。当我的应用程序位于后台时,我可以在系统托盘上看到通知,但当应用程序位于前台时,不会触发“收到消息时”的回调。我可以看到我的应用程序上收到消息的日志。我试着用数据负载和没有数据负载的应用服务器进行通话。我的应用服务器正在使用php脚本来触发fcm API。下面是我正在使用的php脚本 以下是我在我的Android应用程序中使用的服务
我试图完成的是解析来自Remotemessage的传入数据,并根据自定义标记对其进行不同的处理。例如,如果数据映射包含一个名为“my_custom_tag”的字段,我希望完全覆盖弹出的标准firebase消息并编写一个自定义消息。 问题是,当应用程序在后台运行时,我放入onMessageReceived的任何代码都不会被触发。当应用程序在前台运行时,它工作得很好,但如果应用程序在后台,它将不会检测