Apprendre le style de chemin de fourmi


106

Où puis-je trouver des ressources pour apprendre les conventions de style de chemin Ant ? Je suis allé sur le site Ant lui-même, mais je n'ai trouvé aucune information sur les styles de chemin.


3
Qu'entendez-vous par conventions de style? Voulez-vous dire nommer src pour src et cfg pour la configuration?
Zak

Peut-être que cette réponse serait également utile stackoverflow.com/q/40886239/355438
Lu55

Réponses:


156

Modèles de chemin de style fourmi correspondant à :

Le mappage correspond aux URL à l'aide des règles suivantes:

  • ? correspond à un caractère
  • * correspond à zéro ou plusieurs caractères
  • ** correspond à zéro ou plusieurs «répertoires» dans un chemin
  • {spring:[a-z]+}correspond à l'expression rationnelle [a-z]+comme variable de chemin nommée "spring"

Quelques exemples:

  • com/t?st.jsp- correspond à com / test.jsp mais aussi com/tast.jspoucom/txst.jsp
  • com/*.jsp- correspond à tous les .jspfichiers du comrépertoire
  • com/**/test.jsp- correspond à tous les test.jspfichiers sous le comchemin
  • org/springframework/**/*.jsp- correspond à tous les .jspfichiers sous leorg/springframework path
  • org/**/servlet/bla.jsp- allumettes org/springframework/servlet/bla.jspmais aussi org/springframework/testing/servlet/bla.jspetorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspcorrespondra com/test.jspet attribuera la valeur testà la filenamevariable

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html


15
existe-t-il un moyen de faire correspondre plusieurs modèles dans une même expression de fourmi? comme / com / *, /com/**/test.jsp dans la même expression?
chrismarx

Ce modèle /WEB-INF/tiles-config/*-tiles-definition.xml pour prendre tous les fichiers se termine par -tiles-definition.xml ne fonctionne pas pour moi mais en même temps / WEB-INF / tiles-config / * .xml fonctionne. Est-ce que * correspond à zéro caractère ou plus?
Khader MA

l'explication dans le spring-framework-referencemet joliment dans un contexte: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Wolfson

40

Je suppose que vous voulez dire comment utiliser les modèles de chemin

S'il s'agit d'utiliser des barres obliques ou des barres obliques inverses, celles-ci seront traduites en séparateurs de chemin sur la plate-forme utilisée pendant l'exécution.


1
+1. En complément, voici comment accéder à cette partie de la documentation depuis le manuel Ant: Table of Contents => "Concepts and Types" => [List of Types] left menu section => "Directory-based Tasks" => [ Section de la page Patterns] .
informatik01

7

Correspondance de motifs de style ANT

Caractères génériques

L'utilitaire utilise trois caractères génériques différents.

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+

1

La plupart upvoted réponse en @user11153utilisant des tables pour un format plus lisible.


Le mappage correspond aux URL à l'aide des règles suivantes:

+-----------------+---------------------------------------------------------+
| Wildcard        |            Description                                  |
+-----------------+---------------------------------------------------------+
| ?               | Matches exactly one character.                          |
| *               | Matches zero or more characters.                        |
| **              | Matches zero or more 'directories' in a path            |
| {spring:[a-z]+} | Matches regExp [a-z]+ as a path variable named "spring" |
+-----------------+---------------------------------------------------------+

Quelques exemples:

+------------------------------+--------------------------------------------------------+
| Example                      | Matches:                                               |
+------------------------------+--------------------------------------------------------+
| com/t?st.jsp                 | com/test.jsp but also com/tast.jsp or com/txst.jsp     |
| com/*.jsp                    | All .jsp files in the com directory                    |
| com/**/test.jsp              | All test.jsp files underneath the com path             |
| org/springframework/**/*.jsp | All .jsp files underneath the org/springframework path |
| org/**/servlet/bla.jsp       | org/springframework/servlet/bla.jsp                    |
|                       also:  | org/springframework/testing/servlet/bla.jsp            |
|                       also:  | org/servlet/bla.jsp                                    |
| com/{filename:\\w+}.jsp      | com/test.jsp & assign value test to filename variable  |
+------------------------------+--------------------------------------------------------+

0

Comme @ user11153 l'a mentionné, AntPathMatcher de Spring implémente et documente les bases de la correspondance de modèle de chemin de style Ant.

De plus, les API nio de Java 7 ont ajouté une prise en charge intégrée de la correspondance de modèle de base via FileSystem.getPathMatcher

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.