Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Struts tiles到tiles的迁移-Spring支持类中的更改_Spring_Upgrade_Tiles_Tiles2_Apache Tiles - Fatal编程技术网

Struts tiles到tiles的迁移-Spring支持类中的更改

Struts tiles到tiles的迁移-Spring支持类中的更改,spring,upgrade,tiles,tiles2,apache-tiles,Spring,Upgrade,Tiles,Tiles2,Apache Tiles,当我试图在我的web应用程序中将Spring从2.1版升级到Spring3.0.x版时,出现了这种情况。Spring3.0.x不支持StrutsTiles 1.3,它需要ApacheTiles 2.x。因此,我还必须将Struts Tiles 1.3升级到ApacheTiles 2.x。ApacheTiles有一个帮助我完成这项工作的功能。然而,我似乎在这方面遇到了《迁移指南》中没有提到的障碍。以下是详细信息: 这是我们使用的TileConfigure <bean id="tilesCon

当我试图在我的web应用程序中将Spring从2.1版升级到Spring3.0.x版时,出现了这种情况。Spring3.0.x不支持StrutsTiles 1.3,它需要ApacheTiles 2.x。因此,我还必须将Struts Tiles 1.3升级到ApacheTiles 2.x。ApacheTiles有一个帮助我完成这项工作的功能。然而,我似乎在这方面遇到了《迁移指南》中没有提到的障碍。以下是详细信息:

这是我们使用的TileConfigure

<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles.TilesConfigurer">
        <property name="factoryClass">
            <value>org.apache.struts.tiles.xmlDefinition.I18nFactorySet</value>
        </property>
        <property name="definitions">
            <list>
                <value>/WEB-INF/tiles-defs.xml</value>
            </list>
        </property>
</bean>

org.apache.struts.tiles.xmlDefinition.I18nFactorySet
/WEB-INF/tiles-defs.xml
由于类
tiles.tileConfigure
在Spring 3.0.x中被弃用,我将其更改为使用
org.springframework.web.servlet.view.tiles2.tileConfigure

与现在不推荐使用的tiles.tileConfigure不同,
tiles2.tileConfigure
没有
setFactoryClass(..)
方法。因此,我的bean初始化失败

我已经查找了
tiles2.tileConfigure
,它现在有方法,
setDefinitionsFactoryClass(..)
setPreparerFactoryClass(..)
。我不仅无法确定哪一个与此相关,而且无法为
org.apache.struts.tiles.xmlDefinition.I18nFactorySet
找到等效的类。Tiles 2.2中是否有直接可用的此类代码,或者我是否需要使用Tiles 2.2中可用的等效代码重新访问一些现有代码


任何指点者都将不胜感激。

一位来自Tiles社区的绅士给出了解决方案。您可以在ApacheTiles用户列表2012年5月存档中找到该线程。在此处交叉张贴:

tiles 2.2支持factoryClass org.apache.struts.tiles.xmlDefinition.I18nFactorySet。因此,我们不需要向新的tiles2.TileConfigure类注入任何特殊内容。最后一个XML元素如下所示

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

/WEB-INF/tiles-defs.xml
因此,移除属性就可以了