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

          導(dǎo)航

          常用鏈接

          留言簿(7)

          隨筆分類(158)

          文章分類(2)

          相冊(cè)

          log

          搜索

          •  

          積分與排名

          • 積分 - 71091
          • 排名 - 778

          最新評(píng)論

          閱讀排行榜

           

          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) 評(píng)論(0)  編輯  收藏 所屬分類: jsf

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


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 小叉 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 繁峙县| 华亭县| 绍兴县| 惠水县| 松江区| 嘉峪关市| 肥乡县| 保康县| 佛冈县| 仙桃市| 耒阳市| 安义县| 资溪县| 永丰县| 库伦旗| 徐汇区| 阿合奇县| 疏勒县| 井研县| 淮安市| 聂拉木县| 高碑店市| 全州县| 新绛县| 吉首市| 运城市| 绥中县| 罗源县| 蓬溪县| 岐山县| 宜君县| 汽车| 抚远县| 丹江口市| 通城县| 商河县| 通州市| 鸡泽县| 南川市| 郴州市| 安吉县|