最近、Spring Webflow 2 を使用するようにいくつかのアプリケーションのアップグレードを開始しました。Webflow 2 に付属する新しい Ajax 機能を利用したいと考えています。タイル 2 を Spring Webflow と統合するためのチュートリアルに誘導してもらえますか (それは明らかに彼らが推奨するもの)。この点に関して、Webflow 2 に付属のドキュメントはまったく役に立たないことがわかりました。
11473 次
3 に答える
3
これは正確には ajax 機能を指しているわけではありませんが、通常のフロー用に Apache タイル 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>
于 2009-05-08T04:28:58.190 に答える
2
ドキュメントで完全に説明されています。だから、そうじゃないと言うのはやめてください。
春にタイルを使用する方法: 10.5 ビューの解像度 (リンク + #spring-mvc-config-spring-view-resolution)
春のタイルで Ajax を使用する方法: 11.5: Ajax リクエストの処理 (リンク + #spring-js-ajax)
これらのリンクからコードをコピーすると、次のような結果になります。
タイルを使用するための 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>
タイル + Ajax の構成:
<!--
- 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>
于 2009-07-23T15:45:21.400 に答える
2
これは、webflow 2 と tiles 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>
于 2009-07-09T01:02:31.760 に答える