RichFaces Developer Guide (RichFaces开发人员指南) 山寨中文版

来源:互联网 发布:悦诗风吟洗面奶知乎 编辑:程序博客网 时间:2024/06/06 20:05

   刚开始学JSF的时候,把所有的搜索引擎用烂了也没能在网上找到一份完整能用的中文文档,无赖之下,只能硬着头皮看英文文档。现在刚好有点空闲时间,于是想自己翻译一个JSF的中文文档,因为英文水平有限,故姑且称其为“山寨”中文版!

 

 

       RichFaces框架,一个拥有强大的类库,丰富的用户组件和灵活的界面样式设计支持的新框架

  • Java

  • JavaServer Faces

  • Java application server or servlet container

  • Browser (on client side)

  • Richfaces framework

  • Sun JSF-RI - 1.2

  • MyFaces 1.2

  • Facelets 1.1.1 - 1.2

  • Seam 1.2. - 2.0

  • Apache Tomcat 5.5 - 6.0

  • BEA WebLogic 9.1 - 10.0

  • Resin 3.1

  • Jetty 6.1.x

  • Sun Application Server 9 (J2EE 1.5)

  • Glassfish (J2EE 5)

  • JBoss 4.2.x - 5 

  •     2.4   支持的浏览器

  • Internet Explorer 6.0 - 7.0

  • Firefox 1.5 - 2.0

  • Opera 8.5 - 9.2

  • Safari 2.0-3.1

  •    备注:

             不支持 Safari 3.0 Beta.

        以上所列项目是根据用户反馈信息做成,我们并不保证所列项目的完整性,如果你的环境未列出,并不说明你的环境与RichFaces 3.2.0不兼容。

        如果您的环境不在上面所列但能支持RichFaces 3.2.0 我们非常欢迎您能反馈给我们。

     

        第三章: 开始使用 RichFaces

     

        3.1 下载RichFaces 3.2.0

              最新发布的RichFaces可供下载,网址是:http://labs.jboss.com/jbossrichfaces/downloads

    在JBOSS下的RichFaces 项目区

        3.2 安装

  • 解压 "richfaces-ui-3.2.0-bin.zip" 到指定文件夹.

  • 拷贝 "richfaces-api-3.2.0.jar" , "richfaces-impl-3.2.0.jar" , "richfaces-ui-3.2.0.jar"  你项目的"WEB-INF/lib" 文件夹下

  • 在你项目的"WEB-INF/web.xml"  文件中加入以下内容:

  •        
    ...

        <context-param>

            <param-name>org.richfaces.SKIN</param-name>

            <param-value>blueSky</param-value>

        </context-param>

        <filter> 

            <display-name>RichFaces Filter</display-name> 

            <filter-name>richfaces</filter-name> 

            <filter-class>org.ajax4jsf.Filter</filter-class> 

        </filter> 

        <filter-mapping> 

            <filter-name>richfaces</filter-name> 

            <servlet-name>Faces Servlet</servlet-name>

            <dispatcher>REQUEST</dispatcher>

            <dispatcher>FORWARD</dispatcher>

            <dispatcher>INCLUDE</dispatcher>

        </filter-mapping>
     在JSP页面上加入以下内容:

           <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

           <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> 

     XHTML 页面加入:

         <xmlns:a4j="http://richfaces.org/a4j">
    <xmlns:rich="http://richfaces.org/rich">
       3.3简单的Ajax实例
       在这个实例中,我们仅仅使用一个带有一个FORM 和一对<h:inputText>和</h:inputText>标签的JSP页面。
    这个简单的例子仅仅是要求你在<h:inputText>中输入一些文字,并发送到服务器,然后服务器会取到这个值并做出响应。
          3.3.1 JSP页面(echo.jsp)
        <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

        <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
        <%@ 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>
                  <rich:panel header="Simple Echo">
                    <h:inputText size="50" value="#{bean.text}" > 
                      <a4j:support event="onkeyup" reRender="rep"/>
                    </h:inputText>
                    <h:outputText value="#{bean.text}" id="rep"/>
                  </rich:panel>
              </h:form>
            </f:view>


          </body>
        </html>

       JSP页面上仅使用了<rich:panel>和<a4j:suport>二个标签,

       <rich:panel>标签允许将页面中的无素放在其中。

       <a4j:support>给相应的页面元素<h:inputText>增加了Ajax支持,引发该Ajax请求的事件为“onkyup”事件。所以,当<h:inputText>触发了这个事件,应用程序就会向服务器端发送一个Ajax请求,那么,我们在<h:inputText>中输入的值就可以在后台Bean与此无素对应的属性中得到我们输入的值。

       <a4j:support>标签中reRender属性值就是用来定义我们将要刷新的对象,在此例中,我们要刷新的对象ID为:rep,也就是一个<h:outputText>,它的“value”值与<h:inputText>的value值都是绑定到后台BEAN bean.text属性,所以此例的最终效果是在<h:inutText>中输入的值会在<h:outputText>中显示出来。当然,如果我们需要刷新的是多个对象的话,我们只需要将它们的ID值列在reRender后面就可以了。

     

        3.3.2 后台Bean

     

             package demo;

            

            public class Bean {

            private String text;

            public Bean() {

            }

            public String getText() {

            return text;

            }

            public void setText(String text) {

            this.text = text;

            }

            }

        3.3.3 Faces-config.xml

     

             下一步,你必须在faces-config.xml中注册你的后台Bean

           <?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>demo.Bean</managed-bean-class>

            <managed-bean-scope>request</managed-bean-scope>

            <managed-property>

              <property-name>text</property-name>

              <value/>

            </managed-property>

          </managed-bean>

        </faces-config>

        3.3.4 Web.xml

           按以下方式修改web.xml文件:

                <?xml version="1.0"?>

        <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

        <display-name>a4jEchoText</display-name>

        <context-param>

            <param-name>org.richfaces.SKIN</param-name>

            <param-value>blueSky</param-value>

        </context-param>

        <context-param>

            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

            <param-value>server</param-value>

        </context-param>

        <filter> 

            <display-name>RichFaces Filter</display-name> 

            <filter-name>richfaces</filter-name> 

            <filter-class>org.ajax4jsf.Filter</filter-class> 

        </filter> 

        <filter-mapping> 

            <filter-name>richfaces</filter-name> 

            <servlet-name>Faces Servlet</servlet-name>

            <dispatcher>REQUEST</dispatcher>

            <dispatcher>FORWARD</dispatcher>

            <dispatcher>INCLUDE</dispatcher>

        </filter-mapping>

        <listener>

            <listener-class>com.sun.faces.config.ConfigureListener</listener-class>

        </listener>

          

        <!-- Faces Servlet -->

        <servlet>

            <servlet-name>Faces Servlet</servlet-name>

            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

            <load-on-startup>1</load-on-startup>

        </servlet>

          

        <!-- Faces Servlet Mapping -->

        <servlet-mapping>

            <servlet-name>Faces Servlet</servlet-name>

            <url-pattern>*.jsf</url-pattern>

        </servlet-mapping>

        <login-config>

            <auth-method>BASIC</auth-method>

        </login-config>

        </web-app>

        现在,你的程序就可以运行了。

     

        3.3.5 部署运行

           部署到Tomcat 下,打开浏览器,输入:http://localhost:8080/a4jEchoText/echo.jsf 就可以了。

     


     
    原创粉丝点击