Nauka stylu ścieżki mrówki

106

Gdzie mogę znaleźć zasoby do nauki konwencji stylu ścieżki mrówek ? Poszedłem na samą stronę Ant, ale nie mogłem znaleźć żadnych informacji na temat stylów ścieżek.

MDK
źródło
3
Co masz na myśli mówiąc o konwencjach stylu? Czy masz na myśli nazwanie src dla src i cfg dla elementów konfiguracyjnych?
Zak
Może być to odpowiedź byłaby również pomocne stackoverflow.com/q/40886239/355438
Lu55

Odpowiedzi:

156

Pasujące wzorce ścieżek w stylu mrówek :

Mapowanie dopasowuje adresy URL przy użyciu następujących reguł:

  • ? dopasowuje jeden znak
  • * dopasowuje zero lub więcej znaków
  • ** dopasowuje zero lub więcej „katalogów” w ścieżce
  • {spring:[a-z]+}dopasowuje wyrażenie regularne [a-z]+jako zmienną ścieżki o nazwie „wiosna”

Kilka przykładów:

  • com/t?st.jsp- pasuje do com / test.jsp, ale także com/tast.jsplubcom/txst.jsp
  • com/*.jsp- dopasowuje wszystkie .jsppliki w comkatalogu
  • com/**/test.jsp- dopasowuje wszystkie test.jsppliki w comścieżce
  • org/springframework/**/*.jsp- dopasowuje wszystkie .jsppliki poniżejorg/springframework path
  • org/**/servlet/bla.jsp- mecze, org/springframework/servlet/bla.jspale także org/springframework/testing/servlet/bla.jspiorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspdopasuje com/test.jspi przypisze wartość testdo filenamezmiennej

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

user11153
źródło
15
czy istnieje sposób na dopasowanie wielu wzorców w jednym wyrażeniu mrówki? jak / com / *, /com/**/test.jsp w tym samym wyrażeniu?
chrismarx
Ten wzorzec /WEB-INF/tiles-config/*-tiles-definition.xml do pobrania wszystkich plików kończy się na -tiles-definition.xml nie działa dla mnie, ale w tym samym czasie / WEB-INF / tiles-config / * .xml działa. Czy zatem * pasuje do zera lub większej liczby znaków?
Khader MA
wyjaśnienie w spring-framework-referenceładnie umieszcza to w kontekście: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Wolfson
40

Przypuszczam, że masz na myśli, jak używać wzorców ścieżek

Jeśli chodzi o to, czy użyć ukośników, czy odwrotnych ukośników, zostaną one przetłumaczone na separatory ścieżek na platformie używanej podczas wykonywania.

sztaplarka
źródło
1
+1. Dodatkowo, oto jak przejść do tej części dokumentacji z Podręcznika Ant: Spis treści => "Pojęcia i typy" => [Lista typów] sekcja lewego menu => "Zadania oparte na katalogach" => [ Patterns] .
informatik01
7

Dopasowanie wzoru w stylu ANT

Symbole wieloznaczne

Narzędzie używa trzech różnych symboli wieloznacznych.

+----------+-----------------------------------+
| Wildcard |            Description            |
+----------+-----------------------------------+
| *        | Matches zero or more characters.  |
| ?        | Matches exactly one character.    |
| **       | Matches zero or more directories. |
+----------+-----------------------------------+
Jakhar
źródło
1

Większość poparła odpowiedź , @user11153używając tabel, aby uzyskać bardziej czytelny format.


Mapowanie dopasowuje adresy URL przy użyciu następujących reguł:

+-----------------+---------------------------------------------------------+
| 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" |
+-----------------+---------------------------------------------------------+

Kilka przykładów:

+------------------------------+--------------------------------------------------------+
| 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  |
+------------------------------+--------------------------------------------------------+
KostasX
źródło
0

Jak wspomniał @ user11153, Spring's AntPathMatcher implementuje i dokumentuje podstawy dopasowywania wzorców ścieżek w stylu Ant.

Ponadto interfejsy API nio Java 7 dodały wbudowaną obsługę podstawowego dopasowywania wzorców za pośrednictwem FileSystem.getPathMatcher

romeara
źródło