当前位置: 代码迷 >> JavaScript >> Ajax4jsf 高速起步
  详细解决方案

Ajax4jsf 高速起步

热度:449   发布时间:2012-11-08 08:48:11.0
Ajax4jsf 快速起步

一、准备工作

1.下载文件:
http://labs.jboss.com/jbossrichfaces/downloads

当前最新的版本是3.10,9月12日发布的。

2.安装。
??? 解压后,将"richfaces-api-3.1.0.jar" , "richfaces-impl-3.1.0.jar" , "richfaces-ui-3.1.0.jar"这三个文件拷贝到WEB-INFO/lib目录下,
?? 修改web.xml,应该是这个样子:

  1. <?xml?version="1.0"?>??
  2. <web-app?version="2.4"?xmlns="http://java.sun.com/xml/ns/j2ee"??
  3. ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  4. ????xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee???? ??
  5. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">??
  6. ????<display-name>togglePanel</display-name>??
  7. ????<context-param>??
  8. ????????<param-name>org.richfaces.SKIN</param-name>??
  9. ????????<param-value>blueSky</param-value>??
  10. ????</context-param>??
  11. ????<context-param>??
  12. ????????<param-name>javax.faces.STATE_SAVING_METHOD</param-name>??
  13. ????????<param-value>server</param-value>??
  14. ????</context-param>??
  15. ????<filter>??
  16. ????????<display-name>RichFaces?Filter</display-name>??
  17. ????????<filter-name>richfaces</filter-name>??
  18. ????????<filter-class>org.ajax4jsf.Filter</filter-class>??
  19. ????</filter>??
  20. ????<filter-mapping>??
  21. ????????<filter-name>richfaces</filter-name>??
  22. ????????<servlet-name>Faces?Servlet</servlet-name>??
  23. ????????<dispatcher>REQUEST</dispatcher>??
  24. ????????<dispatcher>FORWARD</dispatcher>??
  25. ????????<dispatcher>INCLUDE</dispatcher>??
  26. ????</filter-mapping>??
  27. ????<listener>??
  28. ????????<listener-class>??
  29. ????????????com.sun.faces.config.ConfigureListener ??
  30. ????????</listener-class>??
  31. ????</listener>??
  32. ????<!--?Faces?Servlet?-->??
  33. ????<servlet>??
  34. ????????<servlet-name>Faces?Servlet</servlet-name>??
  35. ????????<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>??
  36. ????????<load-on-startup>1</load-on-startup>??
  37. ????</servlet>??
  38. ????<!--?Faces?Servlet?Mapping?-->??
  39. ????<servlet-mapping>??
  40. ????????<servlet-name>Faces?Servlet</servlet-name>??
  41. ????????<url-pattern>*.jsf</url-pattern>??
  42. ????</servlet-mapping>??
  43. ????<welcome-file-list>??
  44. ????????<welcome-file>index.html</welcome-file>??
  45. ????????<welcome-file>index.htm</welcome-file>??
  46. ????????<welcome-file>index.jsp</welcome-file>??
  47. ????????<welcome-file>default.html</welcome-file>??
  48. ????????<welcome-file>default.htm</welcome-file>??
  49. ????????<welcome-file>default.jsp</welcome-file>??
  50. ????</welcome-file-list>??
  51. </web-app>??

?

??? 在每个jsp文件中添加如下头文件:
???

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

如果是xhtml,则添加如下:

  1. <xmlns:a4jxmlns:a4j="http://richfaces.org/a4j">??
  2. <xmlns:richxmlns:rich="http://richfaces.org/rich">??

这样一个ajax4jsf就可以使用了。

二、一个简单的例子
? 1.jsp
? Here is the necessary page (echo.jsp):

  1. <%@?taglib?uri="http://richfaces.org/a4j"?prefix="a4j"%>??
  2. <%@?taglib?uri="http://java.sun.com/jsf/html"?prefix="h"%>??
  3. <%@?taglib?uri="http://java.sun.com/jsf/core"?prefix="f"%>??
  4. <html>??
  5. <head>??
  6. <title>repeater?title>??
  7. head>??
  8. <body>??
  9. <f:view>??
  10. <h:form>??
  11. <rich:panel?header="Simple?Echo">??
  12. <h:inputText?size="50"?value="#{bean.text}"?>??
  13. <a4j:support?event="onkeyup"?reRender="rep"/>??
  14. h:inputText>??
  15. <h:outputText?value="#{bean.text}"?id="rep"/>??
  16. rich:panel>??
  17. h:form>??
  18. f:view>??
  19. body>??
  20. html>??

2.Data Bean

  1. package?demo; ??
  2. public?class?Bean?{ ??
  3. private?String?text; ??
  4. public?Bean()?{ ??
  5. } ??
  6. public?String?getText()?{ ??
  7. return?text; ??
  8. } ??
  9. public?void?setText(String?text)?{ ??
  10. this.text?=?text; ??
  11. } ??
  12. }??

3.faces-config.xml

  1. <!---->xml?version="1.0"?encoding="UTF-8"?>??
  2. <!---->
  3. Config?1.1//EN" ??
  4. "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">??
  5. <faces-config>??
  6. <managed-bean>??
  7. <managed-bean-name>beanmanaged-bean-name>??
  8. <managed-bean-class>demo.Beanmanaged-bean-class>??
  9. <managed-bean-scope>requestmanaged-bean-scope>??
  10. <managed-property>??
  11. <property-name>textproperty-name>??
  12. <value/>??
  13. managed-property>??
  14. managed-bean>??
  15. faces-config>??

4.web.xml

  1. <!---->xml?version="1.0"?>??
  2. <web-app?version="2.4"?xmlns="http://java.sun.com/xml/ns/j2ee"??
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee ??
  5. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">??
  6. <display-name>a4jEchoTextdisplay-name>??
  7. <context-param>??
  8. <param-name>org.richfaces.SKINparam-name>??
  9. <param-value>blueSkyparam-value>??
  10. context-param>??
  11. <context-param>??
  12. <param-name>javax.faces.STATE_SAVING_METHODparam-name>??
  13. <param-value>serverparam-value>??
  14. context-param>??
  15. <filter>??
  16. <display-name>RichFaces?Filterdisplay-name>??
  17. <filter-name>richfacesfilter-name>??
  18. <filter-class>org.ajax4jsf.Filterfilter-class>??
  19. filter>??
  20. <filter-mapping>??
  21. <filter-name>richfacesfilter-name>??
  22. <servlet-name>Faces?Servletservlet-name>??
  23. <dispatcher>REQUESTdispatcher>??
  24. <dispatcher>FORWARDdispatcher>??
  25. <dispatcher>INCLUDEdispatcher>??
  26. filter-map>??
  27. <listener>??
  28. <listener-class>com.sun.faces.config.ConfigureListenerlistener-class>??
  29. listener>??
  30. <!---->??
  31. <servlet>??
  32. <servlet-name>Faces?Servletservlet-name>??
  33. <servlet-class>javax.faces.webapp.FacesServletservlet-class>??
  34. <load-on-startup>1load-on-startup>??
  35. servlet>??
  36. <!---->??
  37. <servlet-mapping>??
  38. <servlet-name>Faces?Servletservlet-name>??
  39. <url-pattern>*.jsfurl-pattern>??
  40. servlet-mapping>??
  41. <login-config>??
  42. <auth-method>BASICauth-method>??
  43. login-config>??
  44. web-app>??

这样,一个ajax4jsf 就可以运行了

1 楼 nweida 2008-08-07  
不配置richfacs,运行jsf一点问题没有。
按上面加上richface的配置就报listener错误。
郁闷啊