Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
集成SpringWebflow2和ApacheTiles_Spring_Tiles_Spring Webflow_Tiles2 - Fatal编程技术网

集成SpringWebflow2和ApacheTiles

集成SpringWebflow2和ApacheTiles,spring,tiles,spring-webflow,tiles2,Spring,Tiles,Spring Webflow,Tiles2,我最近开始升级一些应用程序以使用SpringWebflow2,我想利用Webflow2附带的新Ajax功能。有人能告诉我一个将Tiles 2与SpringWebflow集成的教程吗(因为这显然是他们推荐的)。我发现Webflow 2附带的文档在这方面是完全无用的。这并不是指ajax功能,但它帮助我为常规流设置了apache tiles 2: 链接中有更多详细信息,但您需要的核心是一个新的视图解析器: <bean id="tilesViewResolver" class="org.spri

我最近开始升级一些应用程序以使用SpringWebflow2,我想利用Webflow2附带的新Ajax功能。有人能告诉我一个将Tiles 2与SpringWebflow集成的教程吗(因为这显然是他们推荐的)。我发现Webflow 2附带的文档在这方面是完全无用的。

这并不是指ajax功能,但它帮助我为常规流设置了apache tiles 2:

链接中有更多详细信息,但您需要的核心是一个新的视图解析器:

<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>

这就是我在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>

/WEB-INF/tiles defs/templates.xml
流量控制器
视图控制器

文档中对其进行了完美的解释。所以,请不要说它不是

如何在spring中使用Tile:10.5视图分辨率(link+#spring mvc配置spring视图分辨率)

如何在spring中将Ajax与tiles结合使用:11.5:处理Ajax请求(link+#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>

/WEB-INF/views/layouts/page.xml
/WEB-INF/views/layouts/table.xml
/WEB-INF/views/globalViews.xml
/WEB-INF/views/userViews.xml
Tiles+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>


非常感谢您的回复,但不幸的是,它实际上没有SWF 2提供的文档有用。我最终还是让它工作起来了,尽管我真的不得不四处闲逛,玩很多东西来找出SWF2文档中没有提到的东西。如果有人需要SWF2的帮助,欢迎他们通过gmail dot comI的alexmarshall132与我联系。我肯定有兴趣知道如何让它在视图状态下直接渲染平铺定义。目前,我已经求助于仅仅呈现那些刚刚发布的JSP。这不是一个我特别喜欢的解决方案。我定义了一个JSP,我想用它作为我所有页面的装饰,即带有导航栏、注销链接等。在该页面中,我使用了一个标记。那我就有我所有的瓷砖了。我有一个扩展了所有其他定义的例子。我不得不不同意,你提到的章节正好有两段,而且“瓷砖”一词从未被提及。Webflow文档非常粗略。我不得不去看源代码才能弄明白这一点。