优化网站的技巧,安装wordpress 500,广东做淘宝的都在哪里网站,wordpress斜杠primefacesPrimeFaces 3.4在三天前发布。 除了通常令人敬畏的新组件和更新组件外#xff0c;它还包括新的PrimeFaces Push框架。 基于Atmosphere#xff0c;这为您的应用程序提供了简单的推送机制。 这是在最新的GlassFish 3.1.2.2上配置和运行它的方法。 准备工作 像往常一… primefaces PrimeFaces 3.4在三天前发布。 除了通常令人敬畏的新组件和更新组件外它还包括新的PrimeFaces Push框架。 基于Atmosphere这为您的应用程序提供了简单的推送机制。 这是在最新的GlassFish 3.1.2.2上配置和运行它的方法。 准备工作 像往常一样您应该安装一些Java Maven和GlassFish 。 如果您单手需要它请尝试使用NetBeans 7.2 。 它是最新的也是最出色的并附带了此示例所需的所有内容。 将零件或整体安装到您选择的位置然后开始创建新的GlassFish域 asadmin create-domain pf_push 接受默认值并启动您的域 asadmin start-domain pf_push 现在您必须为您的域启用Comet支持 。 通过使用http// host4848 / admin ui或使用以下命令来执行此操作 asadmin set server-config.network-config.protocols.protocol.http-1.http.comet-support-enabledtrue 这就是您配置域所要做的全部。 Maven项目设置 现在切换到IDE并创建一个新的基于Maven的Java EE 6项目。 将primefaces存储库添加到repositories部分并将primefaces依赖项添加到您的项目dependencies部分或项目的pom.xml repositoryurlhttp://repository.primefaces.org//urlidprimefaces/idlayoutdefault/layoutnameRepository for library PrimeFaces 3.2/name/repositorydependencygroupIdorg.primefaces/groupIdartifactIdprimefaces/artifactIdversion3.4/version/dependency 此外我们还需要最新的Atmosphere依赖项此版本与JeanFrancois Arcand相对 dependencygroupIdorg.atmosphere/groupIdartifactIdatmosphere-runtime/artifactIdversion1.0.0/version
/dependency 它使用的是Log4j如果需要更多输出最好还包括相应的配置或者使用slf4j将其桥接到JUL。 要进行后面的操作只需将以下内容包含在pom.xml中 dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.6.6/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-jdk14/artifactIdversion1.6.6/version/dependencydependencygroupIdorg.slf4j/groupIdartifactIdlog4j-over-slf4j/artifactIdversion1.6.6/version/dependency 只剩下一件事要做。 PrimePush组件需要注册其Servlet通道。 因此打开您的web.xml并添加以下内容 servletservlet-namePush Servlet/servlet-nameservlet-classorg.primefaces.push.PushServlet/servlet-class
/servlet
servlet-mappingservlet-namePush Servlet/servlet-nameurl-pattern/primepush/*/url-pattern
/servlet-mapping 就是这样 上代码 代码 我将使用PrimeFaces用户指南中提到的示例。 一个非常简单的示例它具有可以递增的全局计数器。 import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.primefaces.push.PushContext;
import org.primefaces.push.PushContextFactory;/*** Counter is a global counter where each button click increments the count* value and new value is pushed to all subscribers.** author eiselem*/
ManagedBean
SessionScoped
public class GlobalCounterBean implements Serializable {private int count;public int getCount() {return count;}public void setCount(int count) {this.count count;}public synchronized void increment() {count;PushContext pushContext PushContextFactory.getDefault().getPushContext(;pushContext.push(/counter, String.valueOf(count));}
} PushContext包含整个魔术。 它主要用于发布和计划消息以及管理侦听器等。 从您的方面调用它。 这看起来很简单和熟悉 h:form idcounter
h:outputText idout value#{globalCounterBean.count} styleClassdisplay /
p:commandButton valueClick actionListener#{globalCounterBean.increment} /
/h:form 除了增加计数器之外这基本上不执行任何操作。 因此您必须添加更多魔力来连接到推式通道。 在表单下方添加以下内容 p:socket channel/counter
p:ajax eventmessage updatecounter:out /
/p:socket psocket /是PrimeFaces组件用于处理服务器和浏览器之间的连接。 它通过定义通信通道和回调来处理广播。 包含的pajax /组件侦听消息事件并更新表单中的counter字段。 但是这需要进行额外的服务器往返。 您也可以通过使用一些Java脚本并将onMessage属性绑定到它来更新输出字段从而简化此操作 script typetext/javascript
function handleMessage(data) {
$(.display).html(data);
}
/scriptp:socket onMessagehandleMessage channel/counter / 到此为止。 祝贺您的第一个PrimeFaces Push示例。 祝您编程愉快别忘了分享 参考来自JCG合作伙伴 Markus Eisele的GlassFish 3.1.2.2上的PrimeFaces Atmosphere on Atmosphere在 Java软件企业博客上发表。 翻译自: https://www.javacodegeeks.com/2012/09/primefaces-push-with-atmosphere-on.htmlprimefaces