呆羊在曬太陽  
          公告
          • Y:哦,是你呀。
            X:我現(xiàn)在正在忙。
            Y:忙什么?
            X:呵呵,今天出太陽了,我把錢搬出來曬一曬。
            ***********************
            abc
            小叉
            很高興能結(jié)識大家!
            ***********************
          日歷
          <2005年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345
          統(tǒng)計
          • 隨筆 - 164
          • 文章 - 2
          • 評論 - 196
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿(7)

          隨筆分類(158)

          文章分類(2)

          相冊

          log

          搜索

          •  

          積分與排名

          • 積分 - 71057
          • 排名 - 778

          最新評論

          閱讀排行榜

           

          You usually set up your web application as you would do with any other JSF web application. The following sample configuration files show you how to enable the above mentioned features.

          The web.xml configuration:

          WEB-INF/web.xml
          <?xml version="1.0"?>
          <!DOCTYPE web-app PUBLIC
            "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
          
          <web-app>
              <!--
                  The filter used to publish RequestHandledEvent to Spring.
                  Should be mapped to the same url pattern than the FacesServlet.
              -->
              <filter>
                  <filter-name>RequestHandled</filter-name>
                  <filter-class>de.mindmatters.faces.spring.RequestHandledFilter</filter-class>
              </filter>
              <filter-mapping>
                  <filter-name>RequestHandled</filter-name>
                  <url-pattern>/faces/*</url-pattern>
              </filter-mapping>
              
              <!--
                  The listener used to load the parent application context (the spring beans).
              -->
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
          
              <!--
                  The declaration of your FacesServlet.
                  Map it to whatever url pattern you like.
              -->
              <servlet>
                  <servlet-name>FacesServlet</servlet-name>
                  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                  <load-on-startup>1</load-on-startup>
              </servlet>
              <servlet-mapping>
                  <servlet-name>FacesServlet</servlet-name>
                  <url-pattern>/faces/*</url-pattern>
              </servlet-mapping>
          </web-app>
          

          A web.xml configuration with net.sourceforge.myfaces JSF-implementation 1.0.2 (because an internal spring-based VariableResolver is used a few features which are not supported by MyFaces yet, e.g. list-entries, map-entries..., are enabled):

          WEB-INF/web.xml
          <?xml version="1.0"?>
          <!DOCTYPE web-app PUBLIC
            "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
          
          <web-app>
              <!--
                  The filter used to publish RequestHandledEvent to Spring.
                  Should be mapped to the same url pattern than the FacesServlet.
              -->
              <filter>
                  <filter-name>RequestHandled</filter-name>
                  <filter-class>org.springframework.web.jsf.RequestHandledFilter</filter-class>
              </filter>
              <filter-mapping>
                  <filter-name>RequestHandled</filter-name>
                  <url-pattern>/faces/*</url-pattern>
              </filter-mapping>
              
              <!--
                  The listener used to load the parent application context (the spring beans).
              -->
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
          
              <!--
                  The declaration of MyFaces startup-listener.
              -->
              <listener>
                  <listener-class>net.sourceforge.myfaces.webapp.StartupServletContextListener</listener-class>
              </listener>
          
              <!--
                  The declaration of your FacesServlet.
                  Map it to whatever url pattern you like.
              -->
              <servlet>
                  <servlet-name>FacesServlet</servlet-name>
                  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                  <load-on-startup>1</load-on-startup>
              </servlet>
              <servlet-mapping>
                  <servlet-name>FacesServlet</servlet-name>
                  <url-pattern>/faces/*</url-pattern>
              </servlet-mapping>
          </web-app>
          

          Example

          In this example, we just use two beans:

          • example.NameBean
            with one property:
            • name
            and two methods that receive JSF events:
            • public void action(ActionEvent event)
            • public void valueChanged(ValueChangeEvent event)
          • example.ReferencingBean
            with one property:
            • referencedBean

          WEB-INF/faces-config.xml (partial)
          <!-- a purely JSF managed bean -->
          <managed-bean>
              <managed-bean-name>jsfBean</managed-bean-name>
              <managed-bean-class>example.NameBean</managed-bean-class>
              <managed-bean-scope>session</managed-bean-scope>
              <managed-property>
                  <property-name>name</property-name>
              </managed-property>
          </managed-bean>
          
          <!-- a de.mindmatters.faces.spring.SpringBeanFactory used to define the scope of a Spring managed bean -->
          <managed-bean>
              <managed-bean-name>scopedAccessSpringBean</managed-bean-name>
              <managed-bean-class>de.mindmatters.faces.spring.SpringBeanFactory</managed-bean-class>
              <managed-bean-scope>session</managed-bean-scope>
          </managed-bean>
          
          <!-- a purely JSF managed bean that holds a reference to a Spring managed bean -->
          <managed-bean>
              <managed-bean-name>referencingBean</managed-bean-name>
              <managed-bean-class>example.ReferencingBean</managed-bean-class>
              <managed-bean-scope>session</managed-bean-scope>
              <managed-property>
                  <property-name>referencedBean</property-name>
                  <value>#{managedPropertyAccessSpringBean}</value>
              </managed-property>
          </managed-bean>
          

          WEB-INF/applicationContext.xml (partial)
          <!-- a purely Spring managed bean -->
          <bean id="directAccessSpringBean" class="example.NameBean"/>
          
          <!-- a Spring managed bean supplied with a scope within JSF -->
          <bean id="scopedAccessSpringBean" class="example.NameBean" singleton="false"/>
          
          <!--
              a purely Spring managed bean being referenced by a JSF managed bean
              (but which of course can be accessed directly as well)
          ->
          <bean id="managedPropertyAccessSpringBean" class="example.NameBean" singleton="false"/>
          

          test.jsp
          <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
          <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
          <html>
              <head><title>test</title></head>
              <body bgcolor="white">
                  <f:view>
                      <h:messages/>
                      <h:form>
                          purely JSF managed bean:
                          <h:inputText value="#{jsfBean.name}"
                                       valueChangeListener="#{jsfBean.valueChanged}"/>
                          <h:commandButton value="action"
                                           actionListener="#{jsfBean.action}"/>
                          <br/>
                          purely Spring managed bean:
                          <h:inputText value="#{directAccessSpringBean.name}"
                                       valueChangeListener="#{directAccessSpringBean.valueChanged}"/>
                          <h:commandButton value="action"
                                           actionListener="#{directAccessSpringBean.action}"/>
                          <br/>
                          scoped Spring managed bean:
                          <h:inputText value="#{scopedAccessSpringBean.name}"
                                       valueChangeListener="#{scopedAccessSpringBean.valueChanged}"/>
                          <h:commandButton value="action"
                                           actionListener="#{scopedAccessSpringBeanaction}"/>
                          <br/>
                          referenced Spring managed bean:
                          <h:inputText value="#{referencingBean.referencedBean.name}"
                                       valueChangeListener="#{referencingBean.referencedBean.valueChanged}"/>
                          <h:commandButton value="action"
                                           actionListener="#{referencingBean.referencedBean.action}"/>
                          <br/>
                          <h:commandButton id="submit" action="save" value="save"/>
                      </h:form>
                  </f:view>
              </body>
          </html>
          
          posted on 2005-10-15 21:14 小叉 閱讀(424) 評論(0)  編輯  收藏 所屬分類: jsf

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 小叉 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 清流县| 商丘市| 铜鼓县| 红桥区| 安远县| 阿尔山市| 竹溪县| 梧州市| 理塘县| 阿克苏市| 辉县市| 鹤峰县| 横峰县| 瓦房店市| 呼图壁县| 嘉祥县| 宜兰县| 都江堰市| 乌海市| 宾川县| 成安县| 洛阳市| 麟游县| 和平区| 茌平县| 大方县| 托里县| 交口县| 丹阳市| 崇阳县| 四川省| 淮滨县| 张家界市| 漾濞| 敦煌市| 堆龙德庆县| 宁津县| 铁岭县| 治多县| 电白县| 昌江|