Certaines personnes n’aiment pas beaucoup être obligé de poser leurs fichers templates (html) à coté de la classe java (donc dans un package).
Certes, moi ça ne me dérange absolument pas, mais je vais tout de même vous exposer une solution pour placer ces fichiers où vous le souhaitez.
Premièrement, définissez une nouvelle classe héritant de ResourceStreamLocator :
public class PathStripperLocator extends ResourceStreamLocator { public PathStripperLocator() { } public IResourceStream locate(final Class clazz, final String path) { IResourceStream located = super.locate(clazz, trimFolders(path)); if (located != null) { return located; } return super.locate(clazz, path); } private String trimFolders(String path) { return path.substring(path.lastIndexOf("/") + 1); } }
Deuxièmement, surchargez la méthode WebApplication.init() pour ajouter le nouvel IResourceStreamLocator :
public class MonApplication extends WebApplication { @Override protected void init() { super.init(); IResourceSettings resourceSettings = getResourceSettings(); resourceSettings.addResourceFolder("src/main/webapp"); // mettez le chemin que vous souhaitez resourceSettings.setResourceStreamLocator(new PathStripperLocator()); } ... }
Je n’ai pas encore pu completement tester cette façon de faire, donc n’hésitez pas à tester et à venir ici pour partager vos expériences.












May 13th, 2008 at 16:31
Ah oui tiens, je vais tester ça. Je fais parti de ceux qui aime bien ranger les choses à leur place, à défaut de le faire IRL …
May 14th, 2008 at 16:43
Je me serais bien permis une vulgarité suite à la remarque de Nikoko, mais je ne suis pas encore assez à mon aise ici.
May 15th, 2008 at 14:18
T’as bien fait