2012-05-24 4 views
0

Эта ситуация возникла, когда я попытался обновить 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 это migration guide, которые помогли мне с этими усилиями. Тем не менее, я, кажется, врезался в стену на это, которое не упоминается в миграции guide.Here подробности:Сглаживание плиток для миграции плиток - Изменения в классах поддержки весны

Это 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 является осуждается весной 3.0.x, я изменил его использовать org.springframework.web.servlet.view.tiles2.TilesConfigurer

tiles2.TilesConfigurer не имеет setFactoryClass(..) метод в отличие от tiles.TilesConfigurer который теперь устаревшее. И, следовательно, инициализация моего компонента не выполняется.

Я искал tiles2.TilesConfigurerapi, который теперь имеет методы, setDefinitionsFactoryClass(..) и setPreparerFactoryClass(..). Я не только не могу решить, какой из них имеет значение здесь, я не могу найти эквивалентный класс для org.apache.struts.tiles.xmlDefinition.I18nFactorySet. Есть ли что-то подобное в Tiles 2.2, или мне нужно пересмотреть часть моего существующего кода с эквивалентом, который доступен в Tiles 2.2?

Любой указатель будет оценен по достоинству.

ответ

0

Джентльмен из сообщества плиток дал решение. Вы можете найти поток в списке пользователей Apache Tiles May 2012. Перекрестно размещая его здесь:

Заводской кластер org.apache.struts.tiles.xmlDefinition.I18nFactorySet поддерживается из коробки в Tiles 2.2. Таким образом, нам не нужно вводить ничего особенного в новый класс tiles2.TilesConfigurer. Окончательный элемент 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> 

Итак, удаление имущества делает трюк.

 Смежные вопросы

  • Нет связанных вопросов^_^