2010-10-31 4 views
2

J'essaie de créer une application web en utilisant le serveur GlashFish et Velocity.Velocity ne trouve pas de ressource avec webApp

mais je reçois l'erreur suivante:

SEVERE: ResourceManager : unable to find resource 'temp.vm' in any resource loader. 
SEVERE: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'temp.vm' 

velocity.proprieties:

resource.loader=webapp 
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader 
webapp.resource.loader.path=/WEB-INF/templates/ 

Servlet:

ve.setApplicationAttribute("javax.servlet.ServletContext", context); 
      template = ve.getTemplate("temp.vm"); 

J'utilise NetBeans IDE et mon fichier est temp.vm dans/WEB-INF/templates /. Le doit être quelque chose qui me manque mais je n'arrive pas à comprendre ce que c'est.

Nous vous remercions de votre aide!

Répondre

3

Une autre option peut être d'utiliser le chargeur de ressources de chemin de classe et de mettre vos fichiers .vm dans /WEB-INF/classes.

2

mettre le modèle dans le répertoire /WEB-INF/classes/template/temp.vm et utilisez ve.getTemplate ("template/temp.vm ");

Assurez-vous de configurer le chargeur de ressources sur ClasspathResourceLoader.

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> 
    <property name="velocityProperties"> 
    <props> 
     <prop key="resource.loader">class</prop> 
     <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop> 
    </props> 
    </property> 
</bean> 
Questions connexes