`
孟雪雪
  • 浏览: 53036 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax4jsf 使用a4j:poll实现定时刷新

    博客分类:
  • jsf
jsf 
阅读更多
 

下面是使用a4j:poll简单实现一个站内短消息自动提示动能(类似很多asp论坛的页面顶部短消息提示)的关键代码。

(a4j:poll的使用文档可参考https://ajax4jsf.dev.java.net/nonav/documentation/ajax-documentation/)

 

a4j:poll 组件的声明:

<html xmlns="http://www.w3.org/1999/xhtml"

      xmlns:c="http://java.sun.com/jstl/core"

      xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">

 

<!-- 短消息提示代码开始-->

<c:set var="observerEnabled" value="true"/>

 

<h:form>

<!--a4j:poll 必须嵌入到h:form内部,否则不起作用-->

<!--enabled 属性指定是否允许自动检测(即a4j:poll是否有效),reRender指定重新渲染哪些组件,interval经过多少ms执行一次action,oncomplete指定action完成后客户端要执行的js方法-->

<a4j:poll id="observer" enabled="#{observerEnabled}" action="#{basePage.observeNewShortMessage}"

          reRender="observer,promptMessageTop" interval="10000"

          oncomplete="observeNewShortMessage();"/>

    <script language="JavaScript">

    // 使用"//<![CDATA["的写法可在script内部使用"<"字符和"&"符号

    //<![CDATA[

    function observeNewShortMessage(){

        // todo to do something

    }

    //]]>

    </script>

</h:form>

<!-- 短消息提示代码结束-->

 

页面顶部短消息提示内容:

<div align="center" id="promptMessageRegionTop">

<t:commandLink action="message.queryMgs" immediate="true">

<!--basePage.observeNewShortMessage 方法返回一个提示信息promptMessage-->

<h:outputText id="promptMessageTop" value="#{basePage.promptMessage}" />

</t:commandLink>

</div>

 

 

注意:a4j:poll只能重新渲染组件,如果需要在oncomplete后的js中做一些复杂逻辑,可考虑

① 把组件放在div中

<div id="promptRegion"><h:outputText id="prompt" value="#{basePage.prompt}" /></div>

② 在reRender中使用reRender="observer,prompt,promptMessageTop",重新渲染位于div中的h:outputText组件

③ 使用oncomplete=" observeNewShortMessage ();" 指定action完成后客户端要执行的js方法

function observeNewShortMessage (){

    // 下面取得div中h:outputText的值,然后可以进行一些逻辑操作

    var prompt = document.getElementById("promptRegion").innerText;

        // todo to do something

}
分享到:
评论

相关推荐

    ajax4jsf中文教程

    2. 开始使用Ajax4jsf 环境需求 下载Ajax4jsf 安装 简单的 AJAX Echo 项目 JSP 页面 数据 Bean faces-config.xml Web.xml 部署 3. Ajax4jsf 框架的基本概念 介绍 结构概览 如何做... 发送一个AJAX 请求 ...

    A4J ajax4jsf中文指南 chm

    4. **丰富的客户端库**:A4J提供了丰富的客户端组件,如AJAX按钮、表单和数据表,这些组件内置了AJAX功能。 5. **支持JSF 1.2和2.x**:A4J兼容不同的JSF版本,适应不同项目的需要。 **三、A4J组件** A4J提供了一...

    ajax4jsf使用中文手册

    **Ajax4JSF 使用中文...总的来说,"Ajax4JSF使用中文手册"是JSF开发者实现Ajax功能的宝贵资源。通过学习这份手册,开发者可以更好地理解Ajax4JSF的工作原理,并有效地将其应用于实际项目中,提升Web应用的用户体验。

    Ajax4jsf 用户手册

    **Ajax4jsf 用户手册** 是一份详细的指南,旨在帮助开发者了解如何在JavaServer Faces (JSF)项目中集成和使用Ajax4jsf框架。该框架使得在JSF环境中实现Ajax功能变得更加简单,无需编写JavaScript代码,而是通过一组...

    ajax4jsf中文用户指南

    **Ajax请求的发送**:在JSF页面中,你可以使用Ajax4JSF提供的组件,如`a4j:support`或`a4j:commandButton`,来触发Ajax请求。这些组件可以绑定到特定的事件,当事件发生时,会向服务器发送异步请求。 **决定发送...

    ajax 4jsf用户指南中文版

    - **组件库**:Ajax4jsf提供了一系列内置的JSF标签库,用于简化Ajax功能的实现。 - **a4j:ajaxListener**:用于监听Ajax事件。 - **a4j:region**:定义区域内的元素响应Ajax事件。 - **a4j:page**:控制整个页面...

    ajax4jsf使用中文手册.zip

    1. **组件库增强**:Ajax4JSF提供了一系列增强的JSF组件,这些组件内置了Ajax功能,无需编写JavaScript代码即可实现局部刷新。 2. **简单集成**:Ajax4JSF可以直接与标准JSF 1.x和2.x版本进行无缝集成,开发者可以...

    JSF全套(JSF入门教+ LIB+ Ajax4JSF使用手册 )

    学习Ajax4JSF,你将掌握如何在JSF应用中集成Ajax,创建异步交互,以及使用其提供的各种Ajax组件,如`a4j:support`和`a4j:commandButton`。 5. **JSF项目的创建**:这部分教程会指导你从零开始创建一个完整的JSF项目...

    ajax4jsf实例

    - **编写JSF页面**:在JSF页面上使用Ajax4JSF提供的组件,例如添加`&lt;a4j:region&gt;`来定义需要进行Ajax更新的区域。 - **处理Ajax请求**:在后台Bean中定义处理Ajax请求的方法,并通过JSF的EL表达式与页面组件进行...

    Ajax4JSF用户指南

    4. `a4j:support`:为JSF组件添加Ajax支持。 5. `a4j:commandLink` 和 `a4j:commandButton`:Ajax版本的链接和按钮组件,用于触发Ajax请求。 6. `a4j:outputPanel`:定义一个可由Ajax更新的面板。 7. `a4j:...

    ajax4jsf使用手册

    - **Ajax 行为**:Ajax4JSF 提供了Ajax行为组件,如`&lt;a4j:ajax&gt;`,它们允许开发者在JSF事件处理中添加Ajax逻辑。 - **Ajax 回调**:通过`oncomplete`、`onsuccess`、`onerror`等属性,开发者可以定义Ajax请求完成后...

    ajax4jsf.zip

    3. **添加Ajax支持**: 在JSF页面中,通过Ajax4JSF的标签来添加Ajax功能,例如在按钮或输入字段上使用`&lt;a4j:support&gt;`标签。 4. **编写后台逻辑**: 在后台Bean中,定义处理Ajax请求的方法,该方法会根据前端发送的...

    Ajax4jsf

    Ajax4jsf组件库包括一系列的标签,如a4j:ajaxListener、a4j:region、a4j:page、a4j:support等,它们使得在JSF页面中添加Ajax行为变得更加简单。例如,a4j:ajaxListener可以监听页面上的特定事件并触发Ajax响应,而a4...

    ajax4jsf 用户指南

    Ajax4jsf 提供了一系列组件,以方便开发者实现 AJAX 功能: - `a4j:ajaxListener`:监听 AJAX 事件。 - `a4j:region`:定义 AJAX 更新的区域。 - `a4j:page`:应用于整个页面的 AJAX 属性。 - `a4j:support`:支持 ...

    ajax4jsf-demo

    - **编写JSF页面**:在XHTML页面中使用Ajax4JSF提供的组件和行为,如`&lt;a4j:commandButton&gt;`、`&lt;a4j:region&gt;`等。 - **配置应用**:在web.xml中配置Ajax4JSF的过滤器和监听器,以启用Ajax功能。 - **测试和调试**:...

    Ajax4jsf references

    - **a4j:poll**:允许页面定时向服务器发送请求,以获取最新的数据或状态更新,适用于实时数据展示场景。 - **a4j:support**:提供全局范围的Ajax支持,可以设置默认的行为,如是否禁用浏览器的缓存。 ### 使用限制...

    ajax4jsf常用标签的使用借鉴.pdf

    Ajax4JSF 是一个扩展了JavaServer Faces (JSF)框架的库,它提供了一组AJAX(异步JavaScript和XML)相关的标签,使得开发者能够更方便地在JSF应用中实现局部刷新和异步数据交互。在本文中,我们将探讨Ajax4JSF中的几...

    ajax4jsf 例子

    Ajax4JSF使开发者能够在不刷新整个页面的情况下更新JSF组件,从而提升用户体验,实现更流畅、响应更快的Web应用。 ### 1. Ajax4JSF的基本概念 - **Ajax**:Asynchronous JavaScript and XML,异步JavaScript与XML...

Global site tag (gtag.js) - Google Analytics