primefaces_PrimeFaces在GlassFish 3.1.2.2上推动大气
primefaces
PrimeFaces 3.4在三天前發(fā)布。 除了通常令人敬畏的新組件和更新組件外,它還包括新的PrimeFaces Push框架。 基于Atmosphere,這為您的應用程序提供了簡單的推送機制。 這是在最新的GlassFish 3.1.2.2上配置和運行它的方法。準備工作
像往常一樣,您應該安裝一些Java , Maven和GlassFish 。 如果您單手需要它,請嘗試使用NetBeans 7.2 。 它是最新的,也是最出色的,并附帶了此示例所需的所有內容。 將零件或整體安裝到您選擇的位置,然后開始創(chuàng)建新的GlassFish域:
asadmin create-domain pf_push接受默認值并啟動您的域
asadmin start-domain pf_push現在,您必須為您的域啟用Comet支持 。 通過使用http:// <host>:4848 / admin ui或使用以下命令來執(zhí)行此操作:
asadmin set server-config.network-config.protocols.protocol.http-1.http.comet-support-enabled='true'這就是您配置域所要做的全部。
Maven項目設置
現在切換到IDE并創(chuàng)建一個新的基于Maven的Java EE 6項目。 將primefaces存儲庫添加到<repositories>部分,并將primefaces依賴項添加到您的項目<dependencies>部分或項目的pom.xml:
此外,我們還需要最新的Atmosphere依賴項(此版本與JeanFrancois Arcand相對 )
<dependency><groupId>org.atmosphere</groupId><artifactId>atmosphere-runtime</artifactId><version>1.0.0</version> </dependency>它使用的是Log4j,如果需要更多輸出,最好還包括相應的配置,或者使用slf4j將其橋接到JUL。 要進行后面的操作,只需將以下內容包含在pom.xml中:
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.6.6</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-jdk14</artifactId><version>1.6.6</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>log4j-over-slf4j</artifactId><version>1.6.6</version></dependency>只剩下一件事要做。 PrimePush組件需要注冊其Servlet通道。 因此,打開您的web.xml并添加以下內容:
<servlet><servlet-name>Push Servlet</servlet-name><servlet-class>org.primefaces.push.PushServlet</servlet-class> </servlet> <servlet-mapping><servlet-name>Push Servlet</servlet-name><url-pattern>/primepush/*</url-pattern> </servlet-mapping>就是這樣! 上代碼!
代碼
我將使用PrimeFaces用戶指南中提到的示例。 一個非常簡單的示例,它具有可以遞增的全局計數器。
PushContext包含整個魔術。 它主要用于發(fā)布和計劃消息以及管理偵聽器等。 從您的方面調用它。 這看起來很簡單和熟悉:
<h:form id='counter'> <h:outputText id='out' value='#{globalCounterBean.count}' styleClass='display' /> <p:commandButton value='Click' actionListener='#{globalCounterBean.increment}' /> </h:form>除了增加計數器之外,這基本上不執(zhí)行任何操作。 因此,您必須添加更多魔力來連接到推式通道。 在表單下方添加以下內容:
<p:socket channel='/counter' > <p:ajax event='message' update='counter:out' /> </p:socket><p:socket />是PrimeFaces組件,用于處理服務器和瀏覽器之間的連接。 它通過定義通信通道和回調來處理廣播。 包含的<p:ajax />組件偵聽消息事件并更新表單中的counter字段。 但是,這需要進行額外的服務器往返。 您也可以通過使用一些Java腳本并將onMessage屬性綁定到它來更新輸出字段,從而簡化此操作:
<script type='text/javascript'> function handleMessage(data) { $('.display').html(data); } </script><p:socket onMessage='handleMessage' channel='/counter' />到此為止。 祝賀您的第一個PrimeFaces Push示例。
祝您編程愉快,別忘了分享!
參考:來自JCG合作伙伴 Markus Eisele的GlassFish 3.1.2.2上的PrimeFaces Atmosphere on Atmosphere在 Java軟件企業(yè)博客上發(fā)表。
翻譯自: https://www.javacodegeeks.com/2012/09/primefaces-push-with-atmosphere-on.html
primefaces
總結
以上是生活随笔為你收集整理的primefaces_PrimeFaces在GlassFish 3.1.2.2上推动大气的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux命令删除文件(linux命令
- 下一篇: 免费网页在线ddos平台(免费网页在线d