2 votes

Spring MVC : éviter l'extension de fichier dans l'URL

J'ai regardé ce poste : Spring MVC ; éviter l'extension de fichier dans l'url ?

Cela ne fonctionne pas.... lorsque j'utilise

<servlet-mapping>
    <servlet-name>Spring-MVC-Dispatcher-Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

Je reçois l'avertissement

WARNING: No mapping found for HTTP request with URI [/CMT/WEB-INF/jsp/content/edit.jsp] in DispatcherServlet with name 'Spring-MVC-Dispatcher-Servlet'
WARNING: No mapping found for HTTP request with URI [/CMT/WEB-INF/jsp/content/edit.jsp] in DispatcherServlet with name 'Spring-MVC-Dispatcher-Servlet'

Mes paramètres par défaut sont les suivants *.htm et l'URL http://localhost:8080/CMT/content/edit.htm mais j'aimerais utiliser http://localhost:8080/CMT/content/edit

J'ai également besoin de pouvoir charger des ressources telles que les fichiers js/css situés dans le dossier de l'utilisateur. CMT/js , CMT/css y CMT/lib

0voto

Jirka Hanika Points 8266

Inclure un composant de répertoire dans le chemin. (Vous ne souhaitez probablement pas que le mappage corresponde à tout, y compris aux requêtes internes).

0voto

nickdos Points 4757

Est-ce que vous mappez vos URLs correctement afin d'attraper les deux edit.htm y edit ? Essayez (en supposant que CMT est votre contextPath) :

@RequestMapping(value = "/content/edit*")

Pour que les ressources fonctionnent, vous devez spécifier les éléments suivants <mvc:resources .../> dans votre configuration de printemps. Voir le Document de printemps ici .

EDIT : Spring fournit un DefaultAnnotationHandlerMapping qui capte généralement les extensions possibles comme .html, .xml, etc. L'application sur laquelle je travaille a désactivé cette fonction via :

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    <property name="useDefaultSuffixPattern" value="false"/>
</bean>

Vous ne devriez donc pas avoir à vous soucier de l'extension normalement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X