JSF--ajax4jsf入门示例(repeater)

JSF--ajax4jsf入门示例(repeater)

一、下载
http://labs.jboss.com/jbossajax4jsf/downloads,现在的版本为1.1

·            复制 ajax4jsf.jar and oscache-2.2.jar 到程序的 WEB-INF/lib 文件夹下.
修改web.xml,增加a4j的filter配置

< 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 >
</ filter >

二、JSP

<% @ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j" %>
<% @ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<% @ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
< html >
    
< head >
        
< title > repeater </ title >
    
</ head >
    
< body >
        
< f:view >
            
< h:form >
                
< h:panelGrid  columns ="2" >

                        
< h:outputText  value ="Type the Text:"   />
                        
< h:inputText  value ="#{bean.text}" >
                                
< a4j:support  event ="onkeyup"  reRender ="repeater"   />
                        
</ h:inputText >

                        
< h:outputText  value ="Text in the AJAX Response:"   />
                        
< h:outputText  id ="repeater"  value ="#{bean.text}"   />

                
</ h:panelGrid >
        
</ h:form >

        
</ f:view >
    
</ body >
</ html >
<a4j:support event="onkeyup" reRender="repeater"/>

在这里我们在父标签(<h:inputText>)中添加了一个AJAX 支持. 该支持绑定了JavaScript事件“onkeyup” .因此, 每一次该事件发布给父标签时,我们的程序将发送一个AJAX请求到Server.这意味着我们的受管理的bean将包含该“text” 域中我们输入的最新数据.

<a4j:support> 标签的“reRender” 属性(attribute)定义我们的页面的哪一部分被更新. 在这里,该页面唯一被更新的部位是 <h:outputText> 标签,因为他的ID值和“reRender” 的属性值向匹配. 在一个页面中更新多个元素(elements)也是很简单的:仅仅把他们的IDs放在 “reRender” 属性中就可以了.

三、Bean & faces-config.xml
package  com.ivo.a4j.bean;

public   class  Bean  {

    
private String text;

    
public Bean() {
        
//text = "11";
        
//System.out.println("Create");
    }


    
public String getText() {
        
return text;
    }


    
public void setText(String text) {
        
this.text = text;
    }


}

faces-config.xml
<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd" >
< faces-config >

    
< managed-bean >
        
< managed-bean-name > bean </ managed-bean-name >
        
< managed-bean-class > com.ivo.a4j.bean.Bean </ managed-bean-class >
        
< managed-bean-scope > request </ managed-bean-scope >
    
</ managed-bean >

</ faces-config >

你可能感兴趣的:(JSF--ajax4jsf入门示例(repeater))