ajax4jsf

解压 ajax4jsf.zip 文件.
复制 ajax4jsf.jar and oscache-2.2.jar 到程序的 WEB-INF/lib 文件夹下.
把下面的内容添加到你的程序的 WEB-INF/web.xml 文件中:
           <filter>
           <display-name>Ajax4jsf Filter</display-name>
           <filter-name>ajax4jsf</filter-name>
           <filter-class>org.ajax4jsf.Filter</filter-class>
           </filter>
           <filter-mapping>
           <filter-name>ajax4jsf</filter-name>
           <servlet-name>Faces Servlet</servlet-name>
           <dispatcher>REQUEST</dispatcher>
           <dispatcher>FORWARD</dispatcher>
           <dispatcher>INCLUDE</dispatcher>
           </filter-mapping>
        
添加下面的内容:
   <%@ taglib uri=" https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>        
到你每个使用Ajax功能的JSP页面中.

         <f:view>
           <h:form>
             <h:inputText size="50" value="#{bean.text}" >
               <a4j:support event="onkeyup" reRender="rep"/>
             </h:inputText>
             <h:outputText value="#{bean.text}" id="rep"/>
           </h:form>
         </f:view> 

 

1 .发送一个 AJAX 请求
    
     标签: 
< a4j:commandButton >
< a4j:commandLink >
< a4j:support >

     标签属性: 
reRender: Ajax响应到来时重新渲染(reRendered)组件  一般值等于组件的id
< a4j:support  event = " onkeyup "  reRender = " rep "   />
...
< h:outputText value = " #{bean.text} "  id = " rep " />

RequestDelay: 用来调节请求的频率,即响应此事件延迟的秒数
EventsQueue: 储存下一个请求的队列的名字. 队列帮助阻止下一个请求知道当前的处理完. 
LimitToList: 用来控制更新的区域. 设置为true将更新仅在reRender list中的区域, 如果为false,将更新所有Output Panels区域. (
< f:view >  和  </ f:view >  tags 中的内容在默认值的情况下认为是ajax区域)
ajaxSingle: 如果设置为false用来指定发送请求的区域,如果为true则发送整个区域


2 .通过使用 < a4j:region >  tag你可以在一个JSF页面中定义多个Ajax区域 
如果你希望渲染ajax响应以外的区域,那么renderRegionOnly属性值应该设置为false.否则ajax更新被限制在活动区域的元素中.
< a4j:region renderRegionOnly = " true " >

 

 

在发送请求前自定义JS. OnSubmit attribute
     
< h:inputText id = " i "  value = " #{beanText.kennung} " >     
         
< a4j:support  event = " onfocus "  onsubmit = " doSomething(); "  reRender = " panelToReRender " />                 
     
</ h:inputText >
doSomething()
"  函数将在 Ajax 请求前执行.
另外如果该函数返回  " false "   -  Ajax 请求将不发生.
注意:我们的onsubmit 有点和标准的不一样. 如果你想执行ajax请求,不要返回true   
-  因为  < xxx >< a4j:support  event = " onclick "  onsubmit = " return true; " >  将被转换为  < xxx onclick = " return true; A4J.Submit(.... ); "   >  ,在这种情况下请求将不被发送.

3 .Chapter  4 . Ajax4JSF 组件库
a4j:ajaxListener 添加一个指定的类作为AjaxEvent的监听器
a4j:keepAlive 该标签通过EL表达式(#
{'+name+'} )得到bean, 并且保存该bean到组件树中. 在恢复组件树中,bean被放到request - scope中
a4j:region 该标签定义在AJax请求处理过程中被发送到服务器端解码的部分JSF组件树
a4j:page 该组件呈现一个完全的HTML页面结构。它必须是view root (JSP 
< f:view >  tag)的第一个(并且是仅有的一个)子组件. 没有Html代码可以在该组件的外面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值