3

Apache Tiles には、リクエストごとに tiles.xml ファイルをリロードする Struts のような devMove がありますか? もしそうなら、どうすればこれを有効にできますか?

4

3 に答える 3

1

タイルを使用したことがありますが、動的に再読み込みしようとしたことはありません。

ただし、このページ: http://tiles.apache.org/tutorial/configuration.html

言います:

    Load the Tiles filter. It is useful if your definition files can be changed and you periodically need to reload them. 
于 2010-07-30T15:07:25.323 に答える
0

以下は、サーブレットコンテナー内でタイル 2.2.2 を使用して機能しました。

....
import org.apache.tiles.definition.DefinitionsFactory;
import org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory;
import org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO;
import org.apache.tiles.impl.BasicTilesContainer;
import org.apache.tiles.servlet.context.ServletUtil;

//When using SimpleTilesListener =>  BasicTilesContainer is returned
//When using StrutsTilesListener => CachingTilesContainer is returned which extends BasicTilesContainer
BasicTilesContainer tilesCont = (BasicTilesContainer) ServletUtil.getContainer(ServletActionContext.getServletContext());

DefinitionsFactory defFact = tilesCont.getDefinitionsFactory();
Field field= UnresolvingLocaleDefinitionsFactory.class.getDeclaredField("definitionDao");
field.setAccessible(true);
ResolvingLocaleUrlDefinitionDAO rludDAO = (ResolvingLocaleUrlDefinitionDAO)field.get(defFact);
rludDAO.refresh();
于 2017-03-02T17:15:39.470 に答える