سؤال

ولقد بدأت مؤخرا تطوير بعض التطبيقات لاستخدام الربيع Webflow 2، وأريد أن الاستفادة من وظائف اياكس الجديدة التي تأتي مع Webflow 2. يمكن للشخص يرجى لي مباشرة الى البرنامج التعليمي لدمج بلاط 2 مع الربيع Webflow ( لأن هذا هو على ما يبدو ما يوصي). لقد وجدت الوثائق التي تأتي مع Webflow 2 في هذا الصدد إلى أن يكون عديم الفائدة تماما.

هل كانت مفيدة؟

المحلول

وهذا هو ما فعلته للحصول على انها تعمل مع webflow 2 والبلاط 2.0

<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles-defs/templates.xml</value>
        </list>
    </property>
</bean>

<bean id="urlMapping"
    class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="/flow/**/*.html">
                flowController
            </prop>
            <prop key="/**/*.html">viewController</prop>
        </props>
    </property>
    <property name="order" value="1" />
</bean>

<bean id="tilesViewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>

<bean id="flowController"
    class="org.springframework.webflow.mvc.servlet.FlowController">
    <property name="flowExecutor" ref="flowExecutor" />
</bean>

<webflow:flow-executor id="flowExecutor"
    flow-registry="flowRegistry" />

<webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices"
    base-path="/WEB-INF/flow/user">
    <webflow:flow-location path="/manage-users.xml" />
</webflow:flow-registry>


<webflow:flow-builder-services id="flowBuilderServices"
    view-factory-creator="viewFactoryCreator" />

<bean id="viewFactoryCreator"
    class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
    <property name="viewResolvers" ref="tilesViewResolver" />
</bean>

نصائح أخرى

وهذا ليس بالضبط مشيرا إلى الميزات اياكس، لكنه ساعدني على البلاط اباتشي 2 التي أنشئت من أجل التدفقات العادية:

HTTP: / /jee-bpel-soa.blogspot.com/2008/12/spring-web-flows-2-and-tiles.html

وهناك الكثير من التفاصيل هي على الرابط، ولكن الشيء الأساسي الذي تحتاجه هو طريقة عرض جديدة محلل:

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions" value="/WEB-INF/flows/main/main-tiles.xml" />
</bean>

وانها أوضحت تماما في مستندات. لذلك، من فضلك، وقف قائلة انها ليست كذلك.

HTTP: / /static.springsource.org/spring-webflow/docs/2.0.x/reference/htmlsingle/spring-webflow-reference.html

وكيفية استخدام البلاط في الربيع: 10.5 عرض القرار (رابط + # الربيع بعثة التحقق المشتركة بين التكوين الربيع للرؤية وقرار)

وكيفية استخدام اياكس مع البلاط في الربيع: 11.5: التعامل مع طلب اياكس (وصلة + # الربيع شبيبة اياكس)

ونسخ رمز من هذه الروابط وسوف ينتهي بك الأمر مع شيء من هذا القبيل:

وتكوين لwebflow لاستخدام بلاط:

    <!-- Plugs in a custom creator for Web Flow views -->
<webflow:flow-builder-services id="flowBuilderServices" view-factory-creator="mvcViewFactoryCreator" />

<!-- Configures Web Flow to use Tiles to create views for rendering; Tiles allows for applying consistent layouts to your views -->
<bean id="mvcViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
    <property name="viewResolvers" ref="tilesViewResolver" />
</bean>

وتكوين لبلاط:

    <!-- Configures the Tiles layout system -->
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/views/layouts/page.xml</value>
            <value>/WEB-INF/views/layouts/table.xml</value>
            <value>/WEB-INF/views/globalViews.xml</value>
            <value>/WEB-INF/views/userViews.xml</value>
        </list>
    </property>
</bean>

وتكوين لبلاط + اياكس:

    <!--
  - This bean configures the UrlBasedViewResolver, which resolves logical view names 
  - by delegating to the Tiles layout system. A view name to resolve is treated as
  - the name of a tiles definition.
  -->
<bean id="tilesViewResolver" class="org.springframework.js.ajax.AjaxUrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.webflow.mvc.view.FlowAjaxTilesView" />
</bean>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top