Je ne connais pas encore les servlets et les modèles Velocity et j'essaie de lier mon modèle .vm à un fichier .css. Le fichier .vm et le fichier css se trouvent dans le répertoire ROOT de Tomcat. Le fichier lui-même affiche bien, mais le CSS ne fonctionne pas.Lien vers le fichier css du modèle Velocity
Le lien suivant ne fonctionne pas:
<link rel="stylesheet" type="text/css" href="style.css"/>
ne fait passer le nom de fichier comme un attribut:
String stylesheet = "style.css";
req.setAttribute("stylesheet", stylesheet);
et référencement en tant que tel:
<link rel="stylesheet" type="text/css" href="$stylesheet"/>
Aussi, je ne peut pas afficher le fichier css dans le navigateur, même s'il est définitivement là.
web.xml contient les éléments suivants:
<!-- register servlet -->
<servlet>
<servlet-name>testvmservlet</servlet-name>
<servlet-class>net.myapp.app.TestVMServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testvmservlet</servlet-name>
<url-pattern>/velocity.service</url-pattern>
</servlet-mapping>
<!-- mapping all .vm files to velocity servlets -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
Dois-je référencer le fichier css par rapport à l'application ou par rapport à la vitesse?
J'ai depuis ajusté un de mes correspondances de servlet de:
<servlet-mapping>
<servlet-name>startupservlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
à:
<servlet-mapping>
<servlet-name>startupservlet</servlet-name>
<url-pattern>/foo</url-pattern>
</servlet-mapping>
et maintenant le css fonctionne très bien. Mais je ne suis pas sûr de savoir pourquoi cette cartographie avait un effet. Si je comprends bien, <url-pattern>/</url-pattern>
ne s'applique que si aucun chemin n'a été spécifié, cependant, une demande style.css
devrait constituer un chemin?