Ameisenpfad lernen


104

Wo finde ich Ressourcen zum Erlernen von Konventionen im Ant-Pfad-Stil ? Ich habe die Ant-Site selbst besucht, konnte jedoch keine Informationen zu Pfadstilen finden.


3
Was meinst du mit Stilkonventionen? Meinen Sie damit, src für src und cfg für config stuff zu benennen?
Zak

Antworten:


154

Pfadmuster im Ameisenstil, die in übereinstimmen ::

Die Zuordnung stimmt mit URLs nach den folgenden Regeln überein:

  • ? entspricht einem Zeichen
  • * Entspricht null oder mehr Zeichen
  • ** Entspricht null oder mehr 'Verzeichnissen' in einem Pfad
  • {spring:[a-z]+}entspricht dem regulären Ausdruck [a-z]+als Pfadvariable mit dem Namen "spring"

Einige Beispiele:

  • com/t?st.jsp- entspricht com / test.jsp aber auch com/tast.jspodercom/txst.jsp
  • com/*.jsp- Entspricht allen .jspDateien im comVerzeichnis
  • com/**/test.jsp- stimmt mit allen test.jspDateien unter dem comPfad überein
  • org/springframework/**/*.jsp- Entspricht allen .jspDateien unter demorg/springframework path
  • org/**/servlet/bla.jsp- Streichhölzer org/springframework/servlet/bla.jspaber auch org/springframework/testing/servlet/bla.jspundorg/servlet/bla.jsp
  • com/{filename:\\w+}.jspwird übereinstimmen com/test.jspund den Wert testder filenameVariablen zuweisen

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


15
Gibt es eine Möglichkeit, mehrere Muster innerhalb eines Ameisenausdrucks abzugleichen? wie / com / *, /com/**/test.jsp im gleichen Ausdruck?
Chrismarx

Dieses Muster /WEB-INF/tiles-config/*-tiles-definition.xml, um alle Dateien zu beenden, endet mit -tiles-definition.xml. Es funktioniert nicht für mich, aber gleichzeitig / WEB-INF / tiles-config / * .xml funktioniert. Stimmt * also mit null oder mehr Zeichen überein?
Khader MA

Die Erklärung in der spring-framework-referenceschön setzt es in einen Kontext: https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-requestmapping-uri-templates .
Wolfson

40

Ich nehme an, Sie meinen, wie man Pfadmuster verwendet

Wenn es darum geht, Schrägstriche oder Backslashes zu verwenden, werden diese in Pfadtrennzeichen auf der Plattform übersetzt, die während der Ausführungszeit verwendet werden.


1
+1. Zusätzlich erfahren Sie hier, wie Sie aus dem Ant-Handbuch zu diesem Teil der Dokumentation navigieren: Inhaltsverzeichnis => "Konzepte und Typen" => [Liste der Typen] linker Menüabschnitt => "Verzeichnisbasierte Aufgaben" => [ Muster] Seitenabschnitt .
informatik01

7

ANT Style Pattern Matcher

Platzhalter

Das Dienstprogramm verwendet drei verschiedene Platzhalter.

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

1

Am besten bewertete Antwort durch @user11153Verwendung von Tabellen für ein besser lesbares Format.


Die Zuordnung stimmt mit URLs nach den folgenden Regeln überein:

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

Einige Beispiele:

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

Wie unter @ user11153 erwähnt, implementiert und dokumentiert AntPathMatcher von Spring die Grundlagen des Pfadmusterabgleichs im Ant-Stil.

Darüber hinaus haben die nio-APIs von Java 7 einige integrierte Unterstützung für den grundlegenden Mustervergleich über FileSystem.getPathMatcher hinzugefügt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.