风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

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>

posted on 2007-04-27 08:54 风人园 阅读(2148) 评论(1)  编辑  收藏 所属分类: JSF

评论

# re: JSF--ajax4jsf入门示例(repeater)[未登录]  回复  更多评论   

dafdfa
2014-09-16 00:08 | dd

只有注册用户登录后才能发表评论。


网站导航: