当我尝试在我的 Web 应用程序中将 Spring 从 2.1 版升级到 Spring 3.0.x 时,就会出现这种情况。Spring 3.0.x 不支持 struts-tiles 1.3,它需要 Apache Tiles 2.x。所以,我还必须将 Struts-Tiles 1.3 升级到 Apache Tiles 2.x。Apache tile 有这个迁移指南,帮助我完成了这项工作。但是,我似乎遇到了迁移指南中未提及的问题。以下是详细信息:
这是我们使用的tilesConfigurer,
<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>
由于该类tiles.TilesConfigurer
在 Spring 3.0.x 中已弃用,因此我将其更改为使用org.springframework.web.servlet.view.tiles2.TilesConfigurer
tiles2.TilesConfigurer
没有setFactoryClass(..)
与现在已弃用的 tiles.TilesConfigurer 不同的方法。因此我的 bean 初始化失败。
我查找了tiles2.TilesConfigurer
api,它现在具有方法,setDefinitionsFactoryClass(..)
并且setPreparerFactoryClass(..)
. 我不仅无法确定哪个是相关的,我也找不到等效的org.apache.struts.tiles.xmlDefinition.I18nFactorySet
. Tiles 2.2 中是否有这种直接可用的东西,或者我是否需要使用 Tiles 2.2 中可用的等效代码重新访问我现有的一些代码?
任何指针将不胜感激。